[PHP] lelijke foto's na resize via PHP

Pagina: 1
Acties:

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021
Ik heb zelf een fotogallary geschreven met daarin een stuk script geschreven wat de foto's automatisch resized en daarna in een database zet..
De foto's moeten geresized worden om te verkomen dat er foto's van 300 Kb/s worden opgeslagen (is namelijk niet nodig)

mijn resize code:
PHP:
1
<?$inputImg = imagecreatefromJPEG($foto]);$srcX = imagesx($inputImg);$srcY = imagesy($inputImg);$ratio = $srcY / $srcX;IF ($srcX > $srcY) {    $dstX = 400;    $dstY = round($dstX * $ratio);}ELSE IF ($srcY > $srcX) {    $dstY = 400;    $dstX  = round($dstY / $ratio);}$outputImg = ImageCreate($dstX, $dstY);imagefill($outputImg, 0, 0, ImageColorAllocate($outputImg, 255, 255, 255));ImageCopyResized($outputImg, $inputImg, 0,0,0,0, $dstX, $dstY, $srcX, $srcY);$nu = time("hms");imagejpeg($outputImg, "/tmp/pic". $nu .".jpg");?>

Er gaat niets zichbaar fout tijdens de upload.. en op mijn server thuis is er ook niets aan de hand..

Naar mijn weten is er op de server geen GD2 aanwezig, dus die opties kan ik niet gebruiken.. Verder is de laatste versie van php aanwezig.

Weet iemand hoe dit kan, en hoe het op te lossen is ?

42


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op zondag 03 maart 2002 16:52 schreef Prutser het volgende:
[..]
Weet iemand hoe dit kan, en hoe het op te lossen is ?
als je een lijn hebt zoals:
--------X------

en er staat maar een punt op die lijn. En je gaat um resizen naar 3 pixels, pakt ie 3 punten evenredig verspreid uit de lijn. dus krijg je de oplossing:

---

en de punt is geheel verdwenen.

is alleen op te lossen door heel moeilijk te gaan doen en zelf gemiddelde interpolatie gaan te berekenen indien je het op de server automatisch wilt laten doen. In principe zal dit dus betekenen dat je ermee moet leren leven, of de systeembeheerder overtuigen om GD2 te installeren.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Ik heb altijd goede output met de functie die je zelf in php kan bouwen imagecopyresizedbicubic maar als je niets mag veranderen op de server word het vrij lastig. Je zou kunnen proberen ImageMagick lokaal in je homedir te installeren als dat kan. Er staat hierover redelijk veel in de usercomment bij de manual van php in deze: URL

ActueleWind


  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021
Ik ondek net dat me hosting stiekum is overgestapt op GD2.. Dit bied natuurlijk de mogelijkheden voor "imagecreatetruecolor" wat niet beperkt is tot de palet kleuren die de gewone Imagecreate gebruikt..

Toch bedankt voor de informatie..

42