deldie erste Frage ist schnell beantwortet wenn Du Dir den Getter für das Canvas von TImage anschaust
Delphi-Quellcode:
function TImage.GetCanvas: TCanvas;
var
Bitmap: TBitmap;
begin
if Picture.Graphic = nil then
begin
Bitmap := TBitmap.Create;
try
Bitmap.Width := Width;
Bitmap.Height := Height;
Picture.Graphic := Bitmap;
finally
Bitmap.Free;
end;
end;
if Picture.Graphic is TBitmap then
Result := TBitmap(Picture.Graphic).Canvas
else
raise EInvalidOperation.Create(SImageCanvasNeedsBitmap);
end;
Die Zweite Frage verstehe ich nicht ganz, alles mit der Farbe der linken unteren Ecke wird bei Bitmaps auf Wunsch transparent dargestellt.