Hello friends
I use the following commands (I downloaded from this site) to remove part of the image, like erasing Photoshop. But the size of the pencil does not change. It stays at 1 pixel.
Please give me advice.
Sincerely, Reza
procedure TAlbumImageForm.ImageEnVect1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
iP1: TPoint;
iTransparency: Integer;
iRGB: TRGB;
APX,APY,AStartX,AstartY:Integer;
iColor: TColor;
mx ,
my ,
lx ,
ly :integer;
begin
mx := X;
my := Y;
lx := X;
ly := Y;
APX := ImageEnVect1.Layers[ImageEnVect1.LayersCurrent].ConvXScr2Bmp(X);
APY := ImageEnVect1.Layers[ImageEnVect1.LayersCurrent].ConvYScr2Bmp(Y);
AStartX := ImageEnVect1.Layers[ImageEnVect1.LayersCurrent].ConvXScr2Bmp(X);
AstartY := ImageEnVect1.Layers[ImageEnVect1.LayersCurrent].ConvYScr2Bmp(Y);
// if (Erase1.Down) and (ImageEnVect1.MouseCapture) then
if (Erase1.Down) then
begin
{ Paint Point Opacity as 0}
with ImageEnVect1 do
begin
Proc.SaveUndoCaptioned('Erase ' + IntToStr(Proc.UndoCount + 1));
iP1.X := Layers[LayersCurrent].ConvXScr2Bmp(X);
iP1.Y := Layers[LayersCurrent].ConvYScr2Bmp(Y);
HighlightedPixel := iP1;
iTransparency := 0;
IEBitmap.AlphaChannel.Canvas.Pen.Width := 30;
IEBitmap.AlphaChannel.Canvas.Pen.Color := $02000000 or (iTransparency)
or (iTransparency shl 8) or (iTransparency shl 16);
IEBitmap.AlphaChannel.Canvas.Brush.Color := $02000000 or
(iTransparency) or (iTransparency shl 8) or (iTransparency shl 16);
IEBitmap.AlphaChannel.Canvas.Pixels
[Layers[LayersCurrent].ConvXScr2Bmp(X),
Layers[LayersCurrent].ConvYScr2Bmp(Y)] := ColorDialog1.Color;
IEBitmap.Alpha[Layers[LayersCurrent].ConvXScr2Bmp(X),
Layers[LayersCurrent].ConvYScr2Bmp(Y)] := iTransparency;
Update;
Bitmap.Modified := True;
end;
end;