AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Jpegs : Qualität verringern
Thema durchsuchen
Ansicht
Themen-Optionen

Jpegs : Qualität verringern

Ein Thema von ssach · begonnen am 2. Sep 2003 · letzter Beitrag vom 3. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#1

Jpegs : Qualität verringern

  Alt 2. Sep 2003, 12:34
hy,

wollte wissen wie es geht die Qualität eines Jpeg zu verringern, um die Bildgrösse zu erhalten jedordie Grösse der Datei zu verringern!?
danke

cu
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 12:49
Delphi-Quellcode:
jpeg.CompressionQuality := 50; //oder etwas anderes
jpeg.Compress;
  Mit Zitat antworten Zitat
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#3

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 13:19
verstehe schon wie das in etwa soll gehen, aber wie kriege ich dies in eine prozedur eingebunden die mir den jpeg dann nach eine andere stelle(edtFilePath.Text) speichert?

ciao
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 13:55
Ich hab's auch noch nie gemacht.

Delphi-Quellcode:
uses
  JPEG;

procedure KonvertiereJPEG(const FileNameVon, FileNameNach: TFileName);
var
  jpeg: TJPEGImage;
begin
  jpeg := TJPEGImage.Create;
  try
    jpeg.CompressionQuality := 50; //100 ist Standard
    jpeg.LoadFromFile(FileNameVon);
    jpeg.Compress; //<==================== Hier gibt's noch ein Problem!!!
    jpeg.SaveTofile(FileNameNach+'.jpg');
  finally
    jpeg.Free
  end;
end;

//Afruf:
  KonvertiereJPEG('D:\Matze.jpg', 'D:\Matze2');

aber:

jpeg.Compress; geht irgendwie (noch) nicht.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 15:43
Hallo,

versuche mal

1. jpeg.LoadFromFile(FileNameVon);
2. jpeg.CompressionQuality := 50; //100 ist Standard
3. jpeg.Compress;
4. jpeg.SaveTofile(FileNameNach+'.jpg');
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 16:00
@APP:
Hatte ich auch zuerst, ging auch nicht.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 17:20
Hallo,
ich dachte, gleich ich drehe durch, da ich in meinem Code
nachgesehen hatte, dort funkte alles -allerdings mit einer
BMP -> JPG konversion!

Delphi-Quellcode:
PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR
   jpg : TJpegImage;
BEGIN
   jpg := TJpegImage.Create;
   TRY
      jpg.Loadfromfile('C:\Dokumente und Einstellungen\nemesisposter.jpg');
      jpg.CompressionQuality := 50;
      jpg.DIBNeeded; // SCHULDIG!!!
      jpg.Compress;
      jpg.SaveToFile('C:\Dokumente und Einstellungen\nemesisposter_thumsdfgasgb.JPG');
   FINALLY
      jpg.free;
   END;
END;
OH:
Zitat:
Die Methode DIBNeeded dekomprimiert die JPEG-Grafik in eine Bitmap.

procedure DIBNeeded;

Beschreibung

Setzen Sie DIBNeeded ein, wenn für die JPEG-Grafik eine Bitmap-Darstellung erforderlich ist. Rufen Sie diese Methode zur Optimierung direkt vor dem Zeichnen auf (nicht während des Zeichnens).
NEWSGROUP:
Zitat:
Compress takes the bitmap part of the jpegimage and compresses into a
jpeg. However, TJPEGImage doesn't decode the jpeg data into a bitmap
untill it needs to, which it thinks it doesnt in your case. So, after
loading it, slap in a DibNeeded; which forces it to decode the jpeg.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#8

Re: Jpegs : Qualität verringern

  Alt 3. Sep 2003, 18:45
hy,

es funzt leider nochimmer nicht bei mir, hab alles versucht, will ich dann die qualitätsveranderung starten stürzt das programm ab mit einem Hinweis auf die Zeile
jpg.CompressionQuality := QUALITY;
hoffe könnt mir helfen!
danke

cu
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Jpegs : Qualität verringern

  Alt 3. Sep 2003, 18:48
Ist "QUALITY" ein Integer?
  Mit Zitat antworten Zitat
TimmA

Registriert seit: 22. Mai 2003
Ort: Giessen
111 Beiträge
 
Delphi 7 Professional
 
#10

Re: Jpegs : Qualität verringern

  Alt 3. Sep 2003, 18:57
Ja Integer-Wert zwischen 1 - 100

[zitat @ OH]
Beschreibung

Mit CompressionQuality können Sie die Qualität der Komprimierung für die JPEG-Grafik festlegen, wenn diese gespeichert wird. Eine höhere Komprimierung ergibt eine etwas schlechtere Bildqualität, dafür aber eine kleinere Datei. Für das Einlesen von Dateien wird diese Eigenschaft nicht verwendet.

TJPEGQualityRange ist der Typ der Eigenschaft CompressionQuality. Je höher der Wert von TJPEGQualityRange (Maximalwert: 100) ist, um so besser ist die Bildqualität. Dafür wird die Datei entsprechend größer. Je niedriger der Wert (Manimalwert: 1) von TJPEGQualityRange ist, um so kleiner wird (auf Kosten der Bildqualität) die resultierende Datei.
[/zitat]


Ich habe es in meinem Prog. am laufen und es läuft prima

Wenn jemand interesse hat kann ich morgen den Code via PN schreiben.
<< guckt mal da ein noob
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz