[php] Thumbnail kwaliteit slecht.

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik ben nu met een systeem bezig wat thumbnails van grote plaatjes maakt.

Dat is mij verder prima gelukt alleen valt de kwaliteit mij nogal tegen.

Het volgende script gebruik ik hier voor.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
  $filenaam = 'image.jpg';
  $src_img = imagecreatefromjpeg($filenaam);

  $getal = imagesy($src_img) / 200;
  $new_w = imagesx($src_img)/$getal;
  $new_h = imagesy($src_img)/$getal;

  $dst_img=ImageCreate($new_w,$new_h);
  imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
  ImageJPeG($dst_img,'t_image.jpg');
?>

Dit script maakt van een 1.1MB plaatje een 14kb plaatje.
Kan iemand mij zeggen of dit normaal is of dat ik misschien wat verkeerd doe.

Het is namelijk wel de bedoeling dat hij nog wat fatsoenlijke leesbare thumbnails maakt :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

ik dacht dat er ergens op php.net bij de resize functies een posting stond van iemand die een functie had die het eens tuk beter deed, kan je even naar kijken

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

als je imagecopyresampled() gebruikt is ie wel goed. Maar wel veel trager!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
    define('C_THUMBNAIL_PATH', './images/thumbnails/');
    define('C_JPEG_QUALITY', 70);

    function thumb($srcpath, $src) {
        if (file_exists($srcpath.$src)) {
            $thumbname = C_THUMBNAIL_PATH . '_thumb-'.$src;
            if (!file_exists($thumbname)) {
                $srcimg = ImageCreateFromJPEG($srcpath.$src);

                $newy = 100;
                $sx = ImageSX($srcimg); $sy = ImageSY($srcimg);
                $newx = $sx * ($newy / $sy);

                $destimg = ImageCreateTrueColor($newx, $newy);
                ImageCopyResampled($destimg, $srcimg, 0,0,0,0, $newx, $newy, ImageSX($srcimg), ImageSY($srcimg));
                ImageDestroy($srcimg);
                ImageJPEG($destimg, $thumbname, C_JPEG_QUALITY);
            }
            return $thumbname;
        }
    }
?>

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ok, ik wil die imagecopyresampled() wel eens gebruiken.

Zal ik moeten upgraden naar 2.0.1 , nadeel is wel dat dit nog een beta is.

"The shell stopped unexpectedly and Explorer.exe was restarted."