Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Jpeg Auflösung ändern (https://www.delphipraxis.net/74586-jpeg-aufloesung-aendern.html)

netscanner 5. Aug 2006 20:25


Jpeg Auflösung ändern
 
Hallo, wie kann ich per Delphi mit ein beliebiges Jpeg Bild öffnen, die Äuflösung ändern und wieder abspeichern.

Öffnen und Abspeichern ist ja kein Problem...aber wie ändere ich beispielsweise die Auflösung von 1024x768 auf 640x480???

DGL-luke 5. Aug 2006 20:56

Re: Jpeg Auflösung ändern
 
zum beispiel per Stretchdraw. Der Filter, der da drni ist, versaut dir das Ergebnis aber. Ich würd zum stretchen Graphics32 benutzen. Der Code wär dann ungefähr so:

Delphi-Quellcode:
procedure Stretch(OldFile: string; ResX,ResY: Integer);
var b: TBitmap32;
begin
  b := TBitmap32.Create;
  with b do
   begin
    LoadFromFile(OldFile); //eventuell brauchst du bereits dafür die unit "jpeg" in den uses
    StretchFilter := sfLanczos;
    Draw(rect(0,0,Width-1,Height-1),b,rect(0,0,ResX-1,ResY-1));
    Width := ResX;
    height := ResY;
    SaveToFile(OldFile); //ich weiss nicht, ob das funktioniert; evtl. musst du es selber noch (z.B. mit jpeg.TJpegImage) in JPEG umwandeln und speichern
   end;
end;

marabu 5. Aug 2006 21:19

Re: Jpeg Auflösung ändern
 
Hallo,

bei ganzzahligen Verhältnissen arbeitet die JPEG-Demo mit der Eigenschaft Scale.

Grüße vom marabu

netscanner 5. Aug 2006 21:44

Re: Jpeg Auflösung ändern
 
wo ist denn die jpeg demo - ich find sie bei mir net :oops:


EDIT: gefunden-.-

netscanner 7. Aug 2006 16:20

Re: Jpeg Auflösung ändern
 
Hallo,
also irgendwie kappiere ich das mit dem Scale nicht....
Könnte mir da jemand mal ein beispiel geben?

Eigentlich sollte das Programm das Bild nicht nur verkleinert darstellen sondern auch von der auflösung her kleiner machen und abspeichern....(das ist das problem)

DGL-luke 7. Aug 2006 17:02

Re: Jpeg Auflösung ändern
 
Alles wesentliche steht doch bei mir drin, oder? :gruebel:

netscanner 7. Aug 2006 21:10

Re: Jpeg Auflösung ändern
 
..schon aber ich kappiert net so wirklich wo man dann die pixel auflösung bestimmen kann :)

DGL-luke 7. Aug 2006 21:18

Re: Jpeg Auflösung ändern
 
hmm...

ein bild hat natürlich eine auflösung. allerdings misst man die in dpi - dots per inch - pixel pro Inch. was du meinst, ist aber eher, das bild zum Beispiel von den Abmaßen 1024x768 auf 800x600 zu skalieren - das sind zwar gebräuchliche Bildschirmauflösungen, sind aber beim Bild eben keine Auflösung. Und die gibst du aber bei ResX und ResY an, ich habs ja nichtmal umbenannt. obwohls eher "DimX" und "DimY" (für Dimensions, Ausmaße) heissen sollte. sonst noch fragen?

netscanner 8. Aug 2006 09:33

Re: Jpeg Auflösung ändern
 
welche Graphic32.dcu soll ich denn einbinden :oops:
Wenn ich die Gr32 einbinde (in uses) erkennt er StretchFilter und Draw nicht...

netscanner 8. Aug 2006 09:52

Re: Jpeg Auflösung ändern
 
so mit dem Draw hab ichs jetzt hinbekommen.
aber der stretch filter wird nicht erkannt......hab gr32 eingebunden (version 1.8.1)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:32 Uhr.
Seite 1 von 3  1 23      

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 by Thomas Breitkreuz