[Lazarus] Image Copy and Load Fail.
Mattias Gaertner
nc-gaertnma at netcologne.de
Thu Feb 25 11:57:19 CET 2016
On Thu, 25 Feb 2016 19:28:57 +0900 (KST)
최경식 <me357159 at naver.com> wrote:
>[...]
> procedure TForm1.Button3Click(Sender: TObject);
> var
> ImagetoSave : TImage;
> begin
> ImagetoSave := TImage.Create(Self);
A TImage is a visual control that uses a graphic (e.g. a TBitmap) to
paint.
If you only need a memory image use TBitmap directly instead.
This copies pixels (not attributes):
var
ImagetoSave : TBitmap;
begin
ImagetoSave := TBitmap.Create(Self);
with ImagetoSave do
begin
PixelFormat := pf32bit;
SetSize(Image1.Width,Image1.Height);
Canvas.CopyRect(Rect(0,0,Image1.Width,Image1.Height),
Image1.Picture.Bitmap.Canvas,
Rect(0,0,Image1.Width,Image1.Height));
end;
ImagetoSave.SaveToFile('/home/user/Image/copycreate.bmp');
FileListBox1.UpdateFileList;
end;
> procedure TForm1.FileListBox1Change(Sender: TObject);
> begin
> if FileListBox1.ItemIndex <> -1 then
> begin
> //Loading
> Image3.Picture.bitmap.TransParentColor := clGreen; //Valuable!
Hint:
If you also want to copy attributes like TransparentColor, use
ImagetoSave.Assign(Image1.Picture.Bitmap);
Mattias
More information about the Lazarus
mailing list