Jonathan Wagener wrote:
Hi, I would like to know how I can make phpthumb work, I don't really
understand how it works. How do I make it create thumbnails?


Hi!

I can't answer your question, but I know about an alternative. You can use exif to read out the thumbnail from jpegs and then display that. The thumbnail is stored as a string, but PHP has functions for that. I put this together with a lot of help from the smart people from NYPHP.

This is the piece of code that displays the thumbnail
      // Show thumbnail
$exifthumbnail = exif_thumbnail($totalpath, $exifwidth, $exifheight, $exiftype);
      if ($exifthumbnail !== FALSE) {
            echo "<tr><td>Thumbnail image</td><td><img class=\"centerborder\" ".
                 "src=\"tn.php?degrees=".$rotate."&f=".$totalpath."\">";
            echo "</td></tr>\n";
      } else {
echo "<tr><td>Thumbnail image</td><td>No thumbnail available!</td></tr>\n";
      }

And that is piece of code that makes the thumbnail (reference above as tn.php):
<?php
// =============================================================================
// This script is a helper script to generate a thumbnail image from Exif data
// =============================================================================

if ($_GET['degrees'] == 0) {
   $image = exif_thumbnail($_GET['f'], $width, $height, $type);
   header('Content-type: ' .image_type_to_mime_type($type));
   echo $image;
} else {
   $image = exif_thumbnail($_GET['f'], $width, $height, $type);
   $realimage = imagecreatefromstring($image);
   $rotimage = imagerotate($realimage, $_GET['degrees'], 0);
   header('Content-type: ' .image_type_to_mime_type($type));
   imagejpeg($rotimage);
   // echo $rotimage;
}
?>


$totalpath is the path to the jped image, $degrees is the amount of degrees the thumbnail needs to be rotated (the same as the image, I specify the angle on image insert/edit, also some cameras have a sensor that stores it in the exif info), the $exif.... values are straight from the thumbnail info out of the exif header. I display all exif info in a table and show the thumbnail in the table cell centered with a border (see class for img tag). The really weird thing with this is that the img tag src value is a link to the tn.php script. Also a nice example where GET comes to the rescue where POST would be awfully complicated.

HTH,

        David
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to