Sponsored Link
改造・ソースとかのスレ
6:(,,゚Д゚)さん:2003/05/02 12:57 ID:???
やって見ました。OKです。
SPIも出来ました。漏れのミス(ry
以下は改良(書き間違えてるかもしれないけど)

スクロールバー(sbConstract)を貼ってMaxを255

宣言
private
bmpSource: TBitmap;{geniusky}//元の画像のビットマップイメージ
public
destructor Destroy; override;

constructor TEditForm.Create(AOwner: TComponent);に
bmpSource := TBitmap.Create;//追加

destructor TEditForm.Destroy;
begin
bmpSource.Free;{おまじない}
inherited Destroy;
end;

BtnPicOpenClick()で
Image1.Picture.LoadFromFile(OpenPicDlg1.FileName);//の次に
bmpSource.Assign(Image1.Picture.Graphic);//追加

procedure TEditForm.sbConstractScroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
Constract(byte(ScrollPos));
end;

Constract()で
bmp.Assign(bmpSource);//に変更

==================================
明暗(TABitmap使用)

スクロールバー(sbBright)を貼ってMaxを255、Minを-255

procedure TEditForm.sbBrightScroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
Bright(ScrollPos);
end;

procedure TEditForm.Bright(v: Integer);
var
BMP:TABitmap;
begin
BMP := TABitmap.Create;
BMP.Assign(bmpSource);
BMP.Do32;
Bright32(BMP,v);//vは正数(1..255)なんだけど負数もそのまま(ry
Image1.Picture.bitmap.Handle := BMP.ReleaseHandle;
BMP.free;
end;

両方処理とも元画像を対象にしているので、反映し合わないけど…

1:1- 2: 3:
4: 5: 6:
7: 8: 9:

Rainboard