为什么我不能在图像的 canvas 上绘图?

Why can't I draw on my image's canvas?

我正在使用 Delphi XE8。

我正在为我的图片加载背景图片:

var
  Png: TPngImage;
begin
  Png := TPngImage.Create;
  try
    Png.LoadFromResourceName(HInstance, 'background');
    Image1.Picture.Graphic := Png;
  finally
    Png.Free;
  end;

这工作正常,但是当我尝试在图像的 canvas 上绘制时(我试过 LineTo),我收到此错误:

Can only modify an image if it contains a bitmap

如何在已加载图片的图像上绘图?

答案可以在您引用的错误信息中找到:

Can only modify an image if it contains a bitmap.

因此,创建一个位图对象,将 PNG 图像分配给该位图,然后将该位图分配给 TImage 控件的 Picture