Registriert seit: 17. Jan 2007
1.169 Beiträge
Turbo Delphi für Win32
|
Re: image resizen??
10. Jul 2007, 22:11
Hi,
so würde es wohl auch gehen, die Qualität wird durch das Vergrößern allerdings auch nicht besser.
Delphi-Quellcode:
uses JPEG;
function StretchJpeg(Open, Save: AnsiString; Img: Timage): Boolean;
var
Jpg : TJpegImage;
Bmp: TBitmap;
begin
Result:= false;
if FileExists(Open) then
begin
Jpg := TJpegImage.Create;
Bmp:= TBitmap.Create;
try
Jpg.LoadFromFile(Open);
Bmp.PixelFormat:= pf24bit;
Bmp.Assign(Jpg);
Img.Picture.Bitmap.Width:= Img.Width;
Img.Picture.Bitmap.Height:= Img.Height;
SetStretchBltMode(Img.Picture.Bitmap.Canvas.Handle, STRETCH_HALFTONE);
SetBrushOrgEx(Img.Picture.Bitmap.Canvas.Handle, 0, 0, nil);
StretchBlt(Img.Picture.Bitmap.Canvas.Handle, 0, 0, Img.Width,
Img.Height, Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, srccopy);
Jpg.Assign(Img.Picture.Bitmap);
Jpg.CompressionQuality:= 95;
Jpg.Compress;
Jpg.SaveToFile(Save);
Result:= true;
finally
Bmp.Free;
Jpg.Free;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
StretchJpeg('c:\Bild.jpg', 'C:\BildTest.jpg', Image1);
end;
Gruß bitsetter
"Viele Wege führen nach Rom" Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
|
|
Zitat
|