PDA

View Full Version : Resizing images with white background using php and GD.


Angelito
14th July 2008, 10:43
Hello community,

I am using the following php script to resize .gif images using the GD library; It works very decent:
------------------------------------------------------------------------
$src_img =imagecreatefromgif("bulb_gif.gif");
$srcsize = getimagesize('bulb_gif.gif');
$dest_x = 200;
$dest_y = (200/ $srcsize[0]) * $srcsize[1];//resize ratio.
$dst_img = imagecreatetruecolor($dest_x, $dest_y);

// Resize image
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_x, $dest_y, $srcsize[0], $srcsize[1]);

// Output image
header("content-type: image/gif");
imagegif($dst_img);//final image

// Destroy images
imagedestroy($src_img);
imagedestroy($dst_img);

------------------------------------------------------------------------


The problem is when resizing images with white background (not transparency), after the script is executed the image background turns not being 100% white (255,255,255). Links:

Original .gif file: http://10-network.net/image_thumbial/bulb_gif.gif
Resized image: http://10-network.net/image_thumbial/index.php

You can notice the difference between the resized image and the page background. This varies from LCD to LCD, I can tell the difference in my main screen is about 75%, in other screens I have around this is about 90%.

Any help will be gently apreciated.

Thank you.

burschik
14th July 2008, 12:57
You are using an interpolated resizing operation. Either use a non-interpolating resizing operation instead, or do not create a true colour destination image.