2017-04-11 2 views
0

I Bildformate JPG in einer bestimmten QualitätBilder zu einem bestimmten JPG Konvertieren Qualität

Der folgende Befehl funktioniert nicht aus irgendeinem Grunde konvertieren will, alles, was ich bekommen ist NULL

gm convert -quality 80 '/tmp/phpK31vNK' JPEG:'/tmp/phpK31vNK' && cat '/tmp/phpK31vNK'

jedoch der folgende Befehl funktioniert gut, aber graphicsmagick die Standardqualität festgelegt, die 75 ist

gm convert '/tmp/phpK31vNK' JPEG:'/tmp/phpK31vNK' && cat '/tmp/phpK31vNK'

+0

Do Du brauchst eigentlich die Ausgabedatei nachdem du 'Katze' hast? –

+0

@Mark Setchell ja ... – user2650277

Antwort

2

Versuchen:

gm convert image1 -quality 60 JPEG:image2 

Aber wenn image1 immer ein JPEG ist, können Sie die JPEG: Spezifikation überspringen:

gm convert image1 -quality 60 image2 
+0

Ahh ich habe die Bestellung falsch .... danke für die Hilfe – user2650277

1

Wenn Sie die Ausgabedatei nicht benötigen, nachdem Sie cat seinen Inhalt ed, können Sie Vermeiden Sie die Erstellung insgesamt sowie einen unnötigen zusätzlichen Prozess zu cat es. Sie sagen nur GraphicsMagick eine JPEG zu erstellen und es direkt zu stdout wie folgt an:

gm convert input.jpg -quality 80 jpeg:- 

Wir können sehen, es funktioniert, indem die Qualität verändert und die Bytes Ausgabe wie folgt zu zählen:

# Low quality => small size 
gm convert test.jpg -quality 60 jpeg:- | wc -c 
9036 

# Higher quality => larger size 
gm convert test.jpg -quality 80 jpeg:- | wc -c 
11513 
Verwandte Themen