AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Thumbnails erstellen - Seitenverhältnisse beibehalten
Thema durchsuchen
Ansicht
Themen-Optionen

Thumbnails erstellen - Seitenverhältnisse beibehalten

Ein Thema von DelphiMuffin · begonnen am 27. Dez 2004 · letzter Beitrag vom 11. Jan 2006
Antwort Antwort
DelphiMuffin

Registriert seit: 26. Dez 2004
3 Beiträge
 
#1

Re: Thumbnails erstellen - Seitenverhältnisse beibehalten

  Alt 28. Dez 2004, 11:20
Mich hat die schlechte Qualität gestört und daher hab ich die Routine nocheinmal komplett neu mit der Graphics32 Library geschrieben. Der StretchFilter:=sfLanczos zeichnet das ganze jetzt schön weich Das ganze funktioniert jetzt nicht nur mit jpegs, daher die SaveImage Prozedur, die den Bitmap32 nochmal in ein Jpeg umwandelt. Ich hab ziemlich lange für gebraucht, daher tut euch das nicht an und benutzt meinen Schnipsel Ein Erwähnung wäre natürlich ganz nett

Delphi-Quellcode:
[..] uses Classes, Types, Graphics, Jpeg, GR32, GR32_Image; [..]

procedure SaveImage(inBmp: TBitmap32; filename: string);
var jpeg: TJPEGImage;
    bmp: TBitmap;
begin
     jpeg := TJPEGImage.Create;
     bmp := TBitmap.Create;
     try
        bmp.Assign(inBmp);
        jpeg.CompressionQuality := 100;
        jpeg.Assign(bmp);
        jpeg.SaveToFile(filename);
     finally
            jpeg.Free;
            bmp.Free;
     end;
end;


procedure resizePicture(infile: string; outfile: string; width, height: integer;
                        aspectratio: boolean);
var srcpic, destpic:TBitmap32;
    destrect, srcrect:TRect;
begin
     srcpic:=TBitmap32.Create;
     try
        srcpic.LoadFromFile(infile);
        destpic:=TBitmap32.Create;
        if aspectratio=true then height:=width * srcpic.Height div srcpic.Width;
        try
           destpic.width:=width;
           destpic.height:=height;
           destrect:=Rect(0,0,destpic.width,destpic.height);
           srcrect:=Rect(0,0,srcpic.width,srcpic.height);
           srcpic.StretchFilter:=sfLanczos;
           destpic.Draw(destrect,srcrect,srcpic);
         finally
         srcpic.free;
        end;
     //destpic.SaveToFile(outfile);
     SaveImage(destpic, outfile);
     finally
     destpic.free;
     end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz