Schrift
[thread]11468[/thread]

Bild speicherschonend verkleinern (Seite 2)

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
ptk
 2008-03-15 21:04
#107092 #107092
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
roooot+2008-03-15 12:28:24--
Code (perl): (dl )
system 'djpeg' or die;

Das geht in diesem Fall nicht, da djpeg ohne Argumente eine Eingabe von stdin erwarten würde, hier also hängen würde.
Quote
Allerdings kann djpeg nur das Bild insgesamt verkleinern? Also 1:2 1:4 oder 1:8 aber nicht auf eine bestimmte Größe?
Wie es aussieht, musst du einen Bruch angeben. Der Zähler muss nicht 1 sein, 5:8 geht auch.
roooot
 2008-03-16 15:23
#107096 #107096
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Ok, ein Bruch. Dazu müsste ich aber über GD oder so die Breite und Höhe von dem Bild einlesen und dann ausrechnen. Aber da muss ich wieder GD laden und das Bild einlesen?

Werde mal ne Anfrage an meinen Support schicken ob die Programme überhaupt installiert sind.
Viele Grüße :)
Froschpopo
 2008-03-16 15:31
#107097 #107097
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
PerlMagick bzw ImageMagick nutzt doch bestimmt auch nur convert zum scalieren und konvertieren, wobei man auch einen komprimierungsrang angeben kann.
Bei ImageMagick ist es der -quality-Parameter. Laut kurzer google-recherche heisst er bei convert genauso. Vielleicht gibt ImageMagick den ja auch einfach nur weiter.
murphy
 2008-03-16 16:54
#107099 #107099
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
@roooot: Wenn djpeg installiert ist, dann mit Sicherheit auch rdjpgcom, womit man die Dimensionen des Bildes ermitteln kann.

Allerdings scheint djpeg – zumindest in der Version, die ich installiert habe – nur die Skalierungsfaktoren 1/1, 1/2, 1/4 und 1/8 zu unterstützen. Man kann auch jeden anderen Bruch angeben, der wird dann aber auf den nächstliegenden der besagten Werte gerundet :-(
When C++ is your hammer, every problem looks like your thumb.
ptk
 2008-03-16 19:48
#107102 #107102
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Stimmt, meine djpeg-Version auch. Da habe ich die Manpage nicht richtig gelesen.

Eine weitere Idee wäre die Benutzung der netpbm-Tools. Du kannst ja schauen, ob bei dir pnmscale dabei ist.

Zur Not könnte man ja auch mithilfe von Perl-Stringoperationen skalieren: eins der Formate, das djpeg ausgibt, ist PPM. Dieses Format besteht aus ein bisschen Header und dann aus Reihen von RGB-Werten je Punkt. Man könnte wahrscheinlich mit relativ Aufwand ein Skript mit einem billigen Skalierungsalgorithmus schreiben.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2008-03-14 22:30.