Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi,

ich habe einen Ordner voll *.jpg. Alle mit Auflösung von 1600x1200 und Qualität von 90. Jetzt möchte ich ein Programm schreiben das alle in dem Ordner liegenden Bilder in 640x480 macht und die Qalität auf 60 macht. Die alten Bilder können dabei überschrieben werden.

Wie fang ich da am besten an ??

Wie arbeite ich mit *.jpg ??

Schonmal Danke für jede Antwort !

Originally posted by Scratch

Hi,

ich habe einen Ordner voll *.jpg. Alle mit Auflösung von 1600x1200 und Qualität von 90. Jetzt möchte ich ein Programm schreiben das alle in dem Ordner liegenden Bilder in 640x480 macht und die Qalität auf 60 macht. Die alten Bilder können dabei überschrieben werden.

Wie fang ich da am besten an ??

Wie arbeite ich mit *.jpg ??

Schonmal Danke für jede Antwort !

Wie das JPEG Format aussieht weiss ich nicht, aber da musst der mal bei Google nachsehen, da wird es bestimmt tausende von Ergebnissen geben.

Generell würde ich mal sagen, dass du das Bild dekomprimierst, dann skalierst und dann wieder komprimierst.

Frank

Im Borland C++-Builder gibt es eine jpg.h (oder jpeg.h?).

Kann natürlich sein, daß es die auch bei anderen Compilern gibt. Zumindest solltest Du Dir diese einmal anschauen...

Originally posted by SgtBadAzz

Generell würde ich mal sagen, dass du das Bild dekomprimierst, dann skalierst und dann wieder komprimierst.

Bei jpeg handelt es sich um eine sogenannte "Verlustbehaftete Kompression".

Dies bedeutet, durch den Kompressionsvorgang gehen Bildinformationen verloren, die auch ein "dekomprimieren" (besser gesagt, Speichern in einem anderen Format) nicht mehr "hervorzaubern" kann.

Ein erneutes Speichern einer jpeg-Datei (was ja zwangsläufig hier passieren muss, wenn die Grafik verkleinert werden soll) führt oftmals zu einem äußerst unansehnlichen Ergebnis.

Grüße,

Technician

Hallo,

gibt es einen bestimmten Grund dafür, daß Du die Anwendung selbst programmieren möchtest? Es gibt verschiedene freie Lösungen (beispielsweise irfanview http://www.irfanview.com/ ), die dies ebenfalls bewerkstelligen. Ansonsten musst Du auf eine entsprechende jpeg-Bibliothek zurückgreifen. Meist ist sowas beim Compiler mit dabei (womit arbeitest Du denn?).

Es gibt übrigens auch eine verlustfreie JPEG-Kompression, die aber praktisch nie eingesetzt wird und daher fast unbekannt ist.

Nic

hi, ich arbeite mit einer jpg-Library die mein Chef wohl irgendwo im I-Net gefunden hat.

Das öffnen und anzeigen von JPGs ist echt einfach, mehr habe ich auch noch nicht damit gemacht. Mir wäre nicht bekannt, dass bei VC++ eine JPG-Library dabei wäre, ich arbeite allerdings mit der 6er Version...

  • Autor

ich hab das auch mit gdi+ gemacht ... bin mittlerweile soweit, dass ich bilder anzeigen kann und gifs und bmps in jpgs umwandeln kann ... ich will jetzt nur noch die jpgs skalieren können

Ich glaub ich hab's:

Du erstellst ein zweites Bitmap-Objekt, in der gewünschten Größe und Farbtiefe. Dann erstellst du daraus ein Graphics-Objekt und malst die Quellbitmap in dieses Graphics-Objekt:

int neuebreite = 500, neuehoehe = 500;
Bitmap source( L"Datei.gif" );
Bitmap target( neuebreite, neuehoehe, PixelFormat32bppRGB );
Graphics g( &target );
g.DrawImage( &source, 0, 0, neuebreite, neuehoehe );[/CODE]

Dann kannst du target speichern.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.