[PHP/GD] JPEG kwaliteit altijd slecht?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben sinds gisteren aan het stoeien met de GD library en merk dat de JPEG bestanden die je ermee genereert op de hoogste kwaliteit (95) zich niet kunnen meten met hun Photoshop equivalenten. Zo wordt een rode tekst flets, vies rood met artefacts erin.

Is hier een verklaring/oplossing voor?

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Ik heb nooit problemen gehad... Misschien ligt het aan de GDLib functies die je gebruikt. Plaats eens een foto als voorbeeld en het script.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Gebruik je ImageCreateTrueColor? Ik heb er zelf geen problemen mee.

Acties:
  • 0 Henk 'm!

  • rogue
  • Registratie: September 2004
  • Laatst online: 25-07 19:52
er mist nog wat informatie in je ts;
welke GD library heb je? hoe weet je dat 95 de hoogste setting is?
define flets, vies rood? welke kleurcode heb je daarvoor gebruikt?

zo kan een gdlib lager dan 2.0 bijvoorbeeld geen truecolor.


offtopic:
over het algemeen zijn pngtjes overigens van betere kwaliteit dan de jpeg bestanden

CAPS LOCK IS CRUISE CONTROL FOR COOL


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je gebruikt ook niet toevallig imageCopyResized ergens in je script? Dan moet je namelijk imageCopyResampled nemen, dat helpt een hoop. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry dat mijn post onvolledig was. Ik gebruik versie 2.0.28 van de GD library. Bij deze de code en een voorbeeld:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
    $watermark  = imagecreatefrompng("seal.png");
    $image      = imagecreatefromjpeg("knightley.jpg");
    $imageWidth = imagesx($watermark);
    $imageHeight    = imagesy($watermark);
    
    imagealphablending($image, true);
    imagecopy($image, $watermark, 15, 15, 0, 0, $imageWidth, $imageHeight);
    
    header("Content-type: image/jpeg");
    imagejpeg($image, "", 90);
    
    imagedestroy($watermark);
    imagedestroy($image);


Bekijk hier de vieze JPEG output: http://www.oscaralexander.com/gd_voorbeeld.jpg
Bekijk hier de mooie GIF output: http://www.oscaralexander.com/gd_voorbeeld.gif

Dat 95 de maximale kwaliteit was las ik overigens ergens in de comments op php.net. Wanneer je 100 aangeeft schijnt de standaard 75 gebruikt te worden. Hoe dan ook; het resultaat komt niet eens in de buurt van 80.

[ Voor 8% gewijzigd door Verwijderd op 09-02-2005 16:43 . Reden: Versienummer GD library ]


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Verwijderd schreef op woensdag 09 februari 2005 @ 15:30:
[...]

Dat 95 de maximale kwaliteit was las ik overigens ergens in de comments op php.net. Wanneer je 100 aangeeft schijnt de standaard 75 gebruikt te worden. Hoe dan ook; het resultaat komt niet eens in de buurt van 80.
IMO is 75 de default waarde als je niets invult, de parameter is optioneel. 100 is gewoon 100 natuurlijk.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
X-Lars schreef op woensdag 09 februari 2005 @ 15:44:
[...]

IMO is 75 de default waarde als je niets invult, de parameter is optioneel. 100 is gewoon 100 natuurlijk.
Op http://nl3.php.net/manual/en/function.imagejpeg.php roept iemand:

As the GD 1.8.4 manual says, the quality should be a value in the range 0-95. And this seems to be true - setting it to 100 doesn't change the default quality.

Maar het maakt niet uit, want 80 zou al volstaan als het overeenkwam met de Photoshop compressie :/

Acties:
  • 0 Henk 'm!

Verwijderd

Zo ranzig is het niet hoor. De rode tekst valt wat donker uit, maar dat is in het geval van Photoshop echt niet anders...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 09 februari 2005 @ 16:34:
Zo ranzig is het niet hoor. De rode tekst valt wat donker uit, maar dat is in het geval van Photoshop echt niet anders...
Wel dus, anders zou deze topic niet bestaan hè.

Photoshop (75%): http://www.oscaralexander.com/gd_voorbeeld_photoshop.jpg
GD (90%): http://www.oscaralexander.com/gd_voorbeeld.jpg

Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 20-09 16:56

xces

To got or not to got..

En als je dit niet voor elkaar krijgt is er misschien hulp van imagick (als je die mag runnen). Geeft veelal betere (en kleinere) jpgjes.

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op woensdag 09 februari 2005 @ 16:34:
Zo ranzig is het niet hoor. De rode tekst valt wat donker uit, maar dat is in het geval van Photoshop echt niet anders...
Inderdaad. Zo slecht is het niet, zit weinig verschil tussen de 2 afbeeldingen.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Neem nou voor de lol eens imageCopyResampled in plaats van imageCopy.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

De waarden voor JPEG compressie zijn gaan standaard ofzo. Dit soort waarden zijn dus NIET te vergelijken tussen GD en Photoshop bijvoorbeeld.

Met GD moet je over het algmeeen een stuk hoger zitten qua percentage voor hetzelfde (of soortgelijk) resultaat.

Dat Photoshop beter is in JPEG compressie lijkt me ook geen verrassing :P

[ Voor 43% gewijzigd door Bosmonster op 09-02-2005 17:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als je geen verschil ziet in kwaliteit is er blijkbaar toch een verschil tussen programmeurs en vormgevers ;)

Maar het is dus gewoon dikke pech dat een GD JPEG op de hoogste kwaliteit onderdoet voor een andere JPEG op 75%. Dan moeten m'n opdrachtgevers het maar met mindere plaatjes doen :(

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Verwijderd schreef op woensdag 09 februari 2005 @ 20:35:
Als je geen verschil ziet in kwaliteit is er blijkbaar toch een verschil tussen programmeurs en vormgevers ;)

Maar het is dus gewoon dikke pech dat een GD JPEG op de hoogste kwaliteit onderdoet voor een andere JPEG op 75%. Dan moeten m'n opdrachtgevers het maar met mindere plaatjes doen :(
Ik kan me niet vinden in je conclusie. In je script wordt namelijk een image bewerkt voordat het wordt weergegeven. Misschien ligt het kleurprobleem wel in je bewerking? Het enige punt waar ik namelijk een verschil zie is in de kleur van de tekst, niet in de kwaliteit van de rest van de afbeelding. Je kunt de JPEG kwaliteit bijvoorbeeld testen door een lossless plaatje in te lezen en dit uit te spugen als JPEG en het resultaat dáárvan te vergelijken met PS.

Daarnaast kun je voor het watermerken van een bestand eens kijken naar de imagecopymerge() functie.

Ter edit kan de oorzaak van je probleem ook nog in het png gamma probleem liggen.

[ Voor 8% gewijzigd door T-MOB op 10-02-2005 01:55 ]

Regeren is vooruitschuiven


  • Room42
  • Registratie: September 2001
  • Niet online
Als ik beide plaatjes in één dir opsla en met ACDSee snel tussen beide wissel, zie ik als enig verschil de tekst in de witte ster linksboven! En dat zal wel komen doordat gif maar 256 kleuren aan kan en jpg wat meer pallet ruimte heeft.

[ Voor 2% gewijzigd door Room42 op 10-02-2005 02:04 . Reden: Typo ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Als je de twee afbeeldingen ziet en enige ervaring hebt met JPEG compressie zie je dat het een standaard JPEG probleem is. Rood wordt donkerder en blurry. De enige reden dat dit alleen op de tekst gebeurt in deze afbeelding is dat dat de enige plek is waar rood wordt gebruikt op een dusdanige manier dat het opvalt ;)

In Photoshop ligt de grens tussen fout rood en goed rood precies tussen 50 en 51% :P Tussen die twee waarden wordt je afbeelding ook ineens een stuk groter.

[ Voor 21% gewijzigd door Bosmonster op 10-02-2005 09:05 ]


Verwijderd

Topicstarter
Ja, het verschil is ook alleen merkbaar in de rode tekst (zie eerste post), maar dat is nou net het hele punt. Ik kan er gewoon niet bij dat GD de tekst op 90% zo smerig weergeeft terwijl Photoshop op 75% weinig te wensen overlaat...
Pagina: 1