Hi, I start to play with you new stretchdraw, this work fine with today Lazarus snapshot. I quickly hack TCanvas.StretchDraw to use it and I am pleased with the first result as this solve the ugly stretchdraw we have previously on Win32. See the attached image that show the result,new stretchdraw on right :) , this is a TImage with Stretch property to true.
This is how I change TCanvas.StretchDraw, any idea to avoid this multiple
conversion from TGraphic to TBitmap to TFPCustomImage ?
procedure TCanvas.StretchDraw(const DestRect: TRect; SrcGraphic: TGraphic);
var img: TLazIntfImage;
bmp: TBitmap;
begin
if not Assigned(SrcGraphic) then exit;
Changing;
RequiredState([csHandleValid]);
// SrcGraphic.Draw(Self, DestRect);
// added for FPCanvas.Strechdraw
bmp:=TBitmap.Create;
bmp.Assign(SrcGraphic);
img:=bmp.CreateIntfImage;
Inherited StretchDraw(DestRect.Left,DestRect.Top,
DestRect.Right-DestRect.Left,DestRect.Bottom-DestRect.Top
,img);
img.free;
bmp.free;
//
Changed;
end;
<<attachment: stretchdraw.jpg>>
