gpt4 book ai didi

delphi - TImage图片在读取其 Canvas 时消失?

转载 作者:行者123 更新时间:2023-12-01 18:29:43 24 4
gpt4 key购买 nike

我在表单上有一个简单的 TImage 控件。我在设计时分配了一个位图图像。运行时,我使用 TImage.Picture.Bitmap.Canvas 读取 Canvas 。一切正常。然后,我在设计时加载 JPEG 图像。然而,现在当我读这幅画时,画面突然消失了。

为什么会发生这种情况以及如何避免它?

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
Canvas: TCanvas;
begin
Canvas:= Image1.Picture.Bitmap.Canvas;
//Do something with Canvas, but canvas is empty and image disappeared
end;

最佳答案

这是预期的,因为 JPG 图像根本不是位图 (BMP) 图像。

您必须将其转换为位图才能对其执行某些操作:

var
bm: TBitmap;
begin
bm := TBitmap.Create;
try
bm.Assign(Image1.Picture.Graphic);
bm.Canvas.DoSomethingReallyAwesome(ttExtraAwesome);
bm.SaveToFile('C:\Users\Andreas Rejbrand\Desktop\test5.bmp');
finally
bm.Free;
end;

关于delphi - TImage图片在读取其 Canvas 时消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14539371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com