Z
zbsfg
Unregistered / Unconfirmed
GUEST, unregistred user!
我用StretchDraw失真,StretchBlt失真得列夸张,copyrecT简单不能看,有没有真正好的办法实现无损缩小
Bmp.Canvas.StretchDraw(Bounds(0,0, Bmp.Width,Bmp.Height),Bitmap);
StretchBlt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,
Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,SRCCOPY);
另外,关于内存泄漏
function Bmp2Jpg(Bmp: TBitmap; Quality: Integer = 100): TJpegImage;
begin
Result := nil;
if Assigned(Bmp)
then begin
Result := TJpegImage.Create; //只有创建,没看过他FREE,会不会有内存泄漏
Result.Assign(Bmp); {Its all folks...}
...
end;
Bmp.Canvas.StretchDraw(Bounds(0,0, Bmp.Width,Bmp.Height),Bitmap);
StretchBlt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,
Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,SRCCOPY);
另外,关于内存泄漏
function Bmp2Jpg(Bmp: TBitmap; Quality: Integer = 100): TJpegImage;
begin
Result := nil;
if Assigned(Bmp)
then begin
Result := TJpegImage.Create; //只有创建,没看过他FREE,会不会有内存泄漏
Result.Assign(Bmp); {Its all folks...}
...
end;