Re: GIF instead of JPG..

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Hi,
> I found this beautiful piece of code on the php site which make a
> proportional thumbnail, problem is its only working with JPEG files...and
> not with GIFs, can someone please help me convert it to GIF too?
>
> I tried but got a bit confused as there are no functions that are equal to
> "imagecreatetruecolor" that is in the below script.
> The below script works perfectly for jpgs:
>
>
> <?php
> // The file
> $filename = 'test.jpg';
>
> // Set a maximum height and width
> $width = 200;
> $height = 200;
>
> // Content type
> header('Content-type: image/jpeg');
>
> // Get new dimensions
> list($width_orig, $height_orig) = getimagesize($filename);
>
> if ($width && ($width_orig < $height_orig)) {
>    $width = ($height / $height_orig) * $width_orig;
> } else {
>    $height = ($width / $width_orig) * $height_orig;
> }
>
> // Resample
> $image_p = imagecreatetruecolor($width, $height);
> $image = imagecreatefromjpeg($filename);
> imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height,
> $width_orig, $height_orig);
>
> // Output
> imagejpeg($image_p, null, 100);
> ?>
>
>
> Beautiful, isnt it? Hats off to whoever wrote it and three cheers for the
> online manual!
>
> Thanks,
> Ryan
>
>
>
>
>
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.308 / Virus Database: 266.8.0 - Release Date: 3/21/2005
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



Hello Ryan,

Im using the code below and works fine ...

Best regards,

Andras Kende
http://www.kende.com

//////////////////////////////////


<?php
function resample($src, $srcdir, $destdir, $width = '', $height = '')
{
  if( is_file( $destdir . $src ) )
    {
     $src = $src; return;
    }
  $size = GetImageSize($srcdir . $src);
  if (!$size[0] || !$size[1]) return;

  $scale = min($width/$size[0], $height/$size[1]);
  if ( $scale == 1 ) return;

  $newwidth = (int)($size[0]*$scale);
  $newheight = (int)($size[1]*$scale);
  $xpos = (int)(($width - $newwidth)/2);
  $ypos = (int)(($height - $newheight)/2);


  $format = ereg_replace(".*\.(.*)$","\\1",$src);
  $format = strtoupper($format);


  if ($format == "JPG")
  {
  $destImg = ImageCreateTrueColor($width, $height);
  $backColor=ImageColorAllocate($destImg, 255, 255, 255);
  ImageFilledRectangle($destImg, 0, 0, $width, $height, $backColor);
  $sourceImg = ImageCreateFromJPEG ($srcdir . $src);
  ImageCopyResampled($destImg, $sourceImg, $xpos, $ypos, 0, 0, $newwidth,
$newheight, $size[0], $size[1]);
  imagejpeg($destImg, $destdir . $src, 90);
  }
  elseif ($format == "GIF")
  {
  $destImg = ImageCreateTrueColor($width, $height);
  $backColor=ImageColorAllocate($destImg, 255, 255, 255);
  ImageFilledRectangle($destImg, 0, 0, $width, $height, $backColor);
  $sourceImg = ImageCreateFromGIF ($srcdir . $src);
  ImageCopyResampled($destImg, $sourceImg, $xpos, $ypos, 0, 0, $newwidth,
$newheight, $size[0], $size[1]);
  imagegif($destImg, $destdir . $src, 90);
  }

}
?>

//////////////////////////////////

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux