I'm using imagecopyresized/resampled under PHP4.2.3 to convert an image
uploaded via a file upload control to 90x90 pixels for storage in a MySQL
database, but am finding when imagecopyresized or imagecopyresampled is used
to scale the image, the result is converted to greyscale.

Sample code....

$photo      = $_FILES["photo"];

if($photo["type"]=="image/jpeg")
  $image=imagecreatefromjpeg($photo["tmp_name"]);

else if($photo["type"]=="image/pjpeg")
  $image=imagecreatefromjpeg($photo["tmp_name"]);

if($image) {
    // convert image to 90x90 JPEG

    $target=imagecreate(90,90);

imagecopyresized($target,$image,0,0,0,0,90,90,imagesx($image),imagesy($image
));
    imagejpeg($target,$photo["tmp_name"]);
    $fd=fopen($photo["tmp_name"],"r");
    $imagestring=addslashes(fread($fd,filesize($photo["tmp_name"])));
    fclose($fd);
    imagedestroy($target);
    imagedestroy($image);
    }

If I remove the resize/resample, then the colours are correct.

The resize code works fine on another system using GD <2.0

PHPinfo....

./configure' '--with-gd' '--enable-gd-native-ttf' '--enable-track-vars'
'--enable-sysvsem' '--enable-sysvshm' '--with-zlib' '--prefix=/opt/php-4.2'
'--with-config-file-path=/usr/local/etc/httpd/conf' '--enable-memory-limit'
'--with-db2=/usr' '--with-db3=/usr' '--with-gdbm=/usr' '--with-ndbm=/usr'
'--with-dbase' '--with-xml' '--with-expat-dir=/usr' '--enable-debugger'
'--enable-ftp' '--enable-sockets' '--with-ttf' '--with-jpeg-dir=/usr'
'--enable-bcmath' '--enable-mbstring' '--enable-mbregex' '--with-openssl'
'--enable-trans-sid' '--with-mysql=/usr' '--with-xpm-dir=/usr/X11R6'
'--with-png' '--with-png-dir=/usr' '--with-imap' '--with-dom=/usr'
'--with-bz2' '--with-curl' '--with-mhash=/usr' '--with-mcrypt=/usr'
'--with-pgsql' '--with-ming' '--with-gmp' '--with-gettext' '--with-iconv'
'--with-kerberos' '--with-pspell' '--enable-xslt' '--with-xslt-sablot'
'--with-freetype-dir=/usr' '--with-apxs=/usr/sbin/apxs'

Apache 1.3.27
GD is reported as 2.0 or higher.



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

Reply via email to