Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi >Hochwertiges< Thumbnail erstellen (https://www.delphipraxis.net/91505-hochwertiges-thumbnail-erstellen.html)

BillieJoe90 6. Mai 2007 10:51


>Hochwertiges< Thumbnail erstellen
 
Hallo,
ich würde gerne ein Thumbnail eines JPEG-Bildes mit hoher Qualität herstellen. Gut, das ist immer relativ, aber der Code, der das jetzt für mich macht ist folgender, und die Qualität kann sich weniger als sehen lassen :lol:
Delphi-Quellcode:
procedure createThumbnail(w,h:Integer;src,dest:String);
var width,height,tw,th,tx,ty:Integer;
    thumb:TBitmap;
    tjpg:TJPEGImage;
    path:String;
begin
  width := w;
  height := h;
  path := src;
  thumb := TBitmap.Create;
  tjpg:=TJpegImage.Create;
  try
    tjpg.LoadFromFile(path);
  finally

    tw:=round(tjpg.Width/width);
    th:=round(tjpg.Height/height);

    if tjpg.Width>tjpg.Height then begin
      tx:=0;
      ty:=height-(round(width/th) div 2);
    end
    else begin
      tx:=width-(round(height/tw) div 2);
      ty:=0;
    end;

    thumb.PixelFormat := pf24Bit;
    thumb.Width:=width;
    thumb.Height:=height;
    thumb.Canvas.Rectangle(0,0,width,height);
    thumb.canvas.StretchDraw(Rect(0,0,100,100),tjpg);

  end;

  tjpg.Assign(thumb);
  tjpg.SaveToFile(dest);

  tjpg.Free;
end;
Ich habe auch schon mit der JCLGraphics-Bibliothek rumgespielt, aber nichts hinbekommen... Der hat das BIld immer nicht gespeichert, es kam immer eine 0-byte Datei dabei raus :cry:

Hat irgendwer einen Code zum Erstellen von besseren Thumbnails von Jpegs (auch das Thumbnail soll dann ein Jpeg sein), idealerweise mit der JCLGraphics-Bibliothek, denn da kann man verschiedene Algorithmen (sind das Algorithmen?) einstellen, u.a. vergleichbar mit Photoshop :dancer:

Vielen Dank schonmal!

Johannes

Jelly 6. Mai 2007 11:11

Re: >Hochwertiges< Thumbnail erstellen
 
Das hier sollte dir helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 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