Wanna to sell your second hand goods thro online?. Click here >>

Problem with transparent image resizing? – PHP

You will get black background if you resize a transparent image. To fix it, You need set alpha channel imagecolorallocatealpha to 127. With imagecolorallocatealpha, it will allocate a color for an image.

Usage:
int imagecolorallocatealpha ( resource image, int red, int green, int blue, int alpha)

From PHP manual:
imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter alpha which may have a value between 0 and 127. 0 indicates completely opaque while 127
indicates completely transparent. Returns FALSE if the allocation failed.

Before using it, you must set to false the blending mode for an image and set true the flag to save full alpha channel information.

Example:

<?

$newImg = imagecreatetruecolor($nWidth, $nHeight);

imagealphablending($newImg, false);

imagesavealpha($newImg,true);

$transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);

imagefilledrectangle($newImg, 0, 0, $nWidth, $nHeight, $transparent);

imagecopyresampled($newImg, $im, 0, 0, 0, 0, $nWidth, $nHeight, $imgInfo[0], $imgInfo[1]);

?>

Another way to fix this issue:

phpThumb() - Resize images on the fly

Description: phpThumb() uses the GD library  to create thumbnails from images (JPEG, PNG, GIF, BMP, etc) on the fly. The output size is configurable (can be larger or smaller than the source), and the source may be the entire image or only a portion of the original image.

Download: Download

Site: phpThumb()

Demo: Demo

Installation:

1. unzip the folder and upload the content into the server
2. give the correct path of the phpThumb.php and image path as per the following syntax

Resize Syntax:
<img src=”../phpThumb.php?src=images/watermark.png&bg=FFFFFF&f=png” alt=”">
<img src=”../phpThumb.php?src=images/watermark.png&bg=FFFFFF&f=gif” alt=”">
<img src=”../phpThumb.php?src=images/watermark.png&bg=FFFFFF&f=jpeg” alt=”">

where the bg=FFFFFF represents the bg color of your transparent image.

1 Comment

Joomla Web Developer IndiaJanuary 10th, 2009 at 3:51 pm

Thank you very much..
I found lots of useful resource from you website

HexaDesigner!
http://www.hexadesigners.com
Joomla Web Developer India
Joomla Web Designer India

Leave a comment

Your comment