For Programmers: Free Programming Magazines  


Home > Archive > PHP DB > April 2006 > [PHP-DB] Bad picture colors









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author [PHP-DB] Bad picture colors
nikos

2006-04-27, 6:58 pm

Hello list

I use the following code to shrink some photos.

$directory='/var/www/html/offroads/tmp/';
$dir=opendir($directory);
while($file=readdir($dir)) {
$dirfile=$directory.$file;
if(is_file($dirfile)) {
copy($dirfile,$directory."sm/sm_".$file);
$imgReal = ImageCreateFromJPEG($dirfile);
$x = ImagesX($imgReal);
$y = ImagesY($imgReal);
$newX=$x*0.1783;
$newY=$y*0.1783;
$img = ImageCreate($newX,$newY);
ImageCopyResized($img, $imgReal, 0, 0, 0, 0, $newX,
$newY, $x, $y);
//$newimg=imagecolorstotal($img);
ImageJPEG($img,$directory."sm/sm_".$file);
clearstatcache();
}
}
closedir($dir);

My problem is that the color results are very bad. How can I take picture
with good colors?

Thank you
Dwight Altman

2006-04-27, 6:58 pm

Could it be related to quality in JPEG lossy compression? Can you try PNG
instead?

-----Original Message-----
From: nikos [mailto:nikos@qbit.gr]
Sent: Thursday, April 27, 2006 11:28 AM
To: PHP-mailist (PHP-mailist)
Subject: [PHP-DB] Bad picture colors

Hello list

I use the following code to shrink some photos.

$directory='/var/www/html/offroads/tmp/';
$dir=opendir($directory);
while($file=readdir($dir)) {
$dirfile=$directory.$file;
if(is_file($dirfile)) {
copy($dirfile,$directory."sm/sm_".$file);
$imgReal = ImageCreateFromJPEG($dirfile);
$x = ImagesX($imgReal);
$y = ImagesY($imgReal);
$newX=$x*0.1783;
$newY=$y*0.1783;
$img = ImageCreate($newX,$newY);
ImageCopyResized($img, $imgReal, 0, 0, 0, 0, $newX,
$newY, $x, $y);
//$newimg=imagecolorstotal($img);
ImageJPEG($img,$directory."sm/sm_".$file);
clearstatcache();
}
}
closedir($dir);

My problem is that the color results are very bad. How can I take picture
with good colors?

Thank you

--

nikos

2006-04-27, 6:58 pm

Im not sure if browsers can "play" pngs Dwight
Thnak you
_____ =20

=20
=C3=E1=F4=F3=DE=F2 =CD=DF=EA=EF=F2 - Gatsis Nikos
Web developer
tel.: 2108256721 - 2108256722
fax: 2108256712
email: ngatsis@qbit.gr
http://www.qbit.gr=20

-----Original Message-----
From: Dwight Altman [mailto:dwight@multicam.com]=20
Sent: Thursday, April 27, 2006 7:41 PM
To: 'nikos'; 'PHP-mailist (PHP-mailist)'
Subject: RE: [PHP-DB] Bad picture colors

Could it be related to quality in JPEG lossy compression? Can you try =
PNG
instead?

-----Original Message-----
From: nikos [mailto:nikos@qbit.gr]=20
Sent: Thursday, April 27, 2006 11:28 AM
To: PHP-mailist (PHP-mailist)
Subject: [PHP-DB] Bad picture colors

Hello list

I use the following code to shrink some photos.

$directory=3D'/var/www/html/offroads/tmp/';
$dir=3Dopendir($directory);
while($file=3Dreaddir($dir)) {
$dirfile=3D$directory.$file;
if(is_file($dirfile)) {
copy($dirfile,$directory."sm/sm_".$file);
$imgReal =3D ImageCreateFromJPEG($dirfile);
$x =3D ImagesX($imgReal);
$y =3D ImagesY($imgReal);
$newX=3D$x*0.1783;
$newY=3D$y*0.1783; =09
$img =3D ImageCreate($newX,$newY);
ImageCopyResized($img, $imgReal, 0, 0, 0, 0, $newX,
$newY, $x, $y);
//$newimg=3Dimagecolorstotal($img);
ImageJPEG($img,$directory."sm/sm_".$file);
clearstatcache();
}
}
closedir($dir);

My problem is that the color results are very bad. How can I take =
picture
with good colors?

Thank you

--=20
Dwight Altman

2006-04-27, 6:58 pm

My browsers "play" them.
Firefox 1.5.0.2
Internet Explorer 6.0.2900...

-----Original Message-----
From: nikos [mailto:nikos@qbit.gr]=20
Sent: Thursday, April 27, 2006 11:49 AM
To: PHP-mailist (PHP-mailist)
Subject: RE: [PHP-DB] Bad picture colors

Im not sure if browsers can "play" pngs Dwight
Thnak you
_____ =20

=20
=C3=E1=F4=F3=DE=F2 =CD=DF=EA=EF=F2 - Gatsis Nikos
Web developer
tel.: 2108256721 - 2108256722
fax: 2108256712
email: ngatsis@qbit.gr
http://www.qbit.gr=20

-----Original Message-----
From: Dwight Altman [mailto:dwight@multicam.com]=20
Sent: Thursday, April 27, 2006 7:41 PM
To: 'nikos'; 'PHP-mailist (PHP-mailist)'
Subject: RE: [PHP-DB] Bad picture colors

Could it be related to quality in JPEG lossy compression? Can you try =
PNG
instead?

-----Original Message-----
From: nikos [mailto:nikos@qbit.gr]=20
Sent: Thursday, April 27, 2006 11:28 AM
To: PHP-mailist (PHP-mailist)
Subject: [PHP-DB] Bad picture colors

Hello list

I use the following code to shrink some photos.

$directory=3D'/var/www/html/offroads/tmp/';
$dir=3Dopendir($directory);
while($file=3Dreaddir($dir)) {
$dirfile=3D$directory.$file;
if(is_file($dirfile)) {
copy($dirfile,$directory."sm/sm_".$file);
$imgReal =3D ImageCreateFromJPEG($dirfile);
$x =3D ImagesX($imgReal);
$y =3D ImagesY($imgReal);
$newX=3D$x*0.1783;
$newY=3D$y*0.1783; =09
$img =3D ImageCreate($newX,$newY);
ImageCopyResized($img, $imgReal, 0, 0, 0, 0, $newX,
$newY, $x, $y);
//$newimg=3Dimagecolorstotal($img);
ImageJPEG($img,$directory."sm/sm_".$file);
clearstatcache();
}
}
closedir($dir);

My problem is that the color results are very bad. How can I take =
picture
with good colors?

Thank you

--=20

--=20
Martin Alterisio

2006-04-27, 6:58 pm

2006/4/27, nikos <nikos@qbit.gr>:
>
> Hello list
>
> I use the following code to shrink some photos.
>
> $directory='/var/www/html/offroads/tmp/';
> $dir=opendir($directory);
> while($file=readdir($dir)) {
> $dirfile=$directory.$file;
> if(is_file($dirfile)) {
> copy($dirfile,$directory."sm/sm_".$file);
> $imgReal = ImageCreateFromJPEG($dirfile);
> $x = ImagesX($imgReal);
> $y = ImagesY($imgReal);
> $newX=$x*0.1783;
> $newY=$y*0.1783;
> $img = ImageCreate($newX,$newY);
> ImageCopyResized($img, $imgReal, 0, 0, 0, 0,
> $newX,
> $newY, $x, $y);
> //$newimg=imagecolorstotal($img);
> ImageJPEG($img,$directory."sm/sm_".$file);
> clearstatcache();
> }
> }
> closedir($dir);
>
> My problem is that the color results are very bad. How can I take picture
> with good colors?
>
> Thank you
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


Try using imagecopyresampled() instead of imagecopyresized(). It uses a more
precise algorithm which means: more time to complete. But since it seems
you're creating a cache of resized images that won't mather once the resize
its done.

nikos

2006-04-28, 3:57 am

Martin you really save my ass!!
imagecopyresampled() is what I need.
It is 3 times slower but how cares, I run it in a local server.

Thank you vary much!

_____ =20

=20
=C3=E1=F4=F3=DE=F2 =CD=DF=EA=EF=F2 - Gatsis Nikos
Web developer
tel.: 2108256721 - 2108256722
fax: 2108256712
email: ngatsis@qbit.gr
http://www.qbit.gr=20

-----Original Message-----
From: Martin Alterisio [mailto:malterisio777@gmail.com]=20
Sent: Thursday, April 27, 2006 10:50 PM
To: nikos
Cc: PHP-mailist (PHP-mailist)
Subject: Re: [PHP-DB] Bad picture colors

2006/4/27, nikos <nikos@qbit.gr>:
>
> Hello list
>
> I use the following code to shrink some photos.
>
> $directory=3D'/var/www/html/offroads/tmp/';
> $dir=3Dopendir($directory);
> while($file=3Dreaddir($dir)) {
> $dirfile=3D$directory.$file;
> if(is_file($dirfile)) {
> copy($dirfile,$directory."sm/sm_".$file);
> $imgReal =3D ImageCreateFromJPEG($dirfile);
> $x =3D ImagesX($imgReal);
> $y =3D ImagesY($imgReal);
> $newX=3D$x*0.1783;
> $newY=3D$y*0.1783;
> $img =3D ImageCreate($newX,$newY);
> ImageCopyResized($img, $imgReal, 0, 0, 0, 0,
> $newX,
> $newY, $x, $y);
> //$newimg=3Dimagecolorstotal($img);
> ImageJPEG($img,$directory."sm/sm_".$file);
> clearstatcache();
> }
> }
> closedir($dir);
>
> My problem is that the color results are very bad. How can I take =

picture
> with good colors?
>
> Thank you
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


Try using imagecopyresampled() instead of imagecopyresized(). It uses a =
more
precise algorithm which means: more time to complete. But since it seems
you're creating a cache of resized images that won't mather once the =
resize
its done.
nikos gatsis

2006-04-28, 3:57 am

Martin you really save my ass!!
imagecopyresampled() is what I need.
It is 3 times slower but how cares, I run it in a local server.

Thank you vary much!

_____ =20

=20
=C3=E1=F4=F3=DE=F2 =CD=DF=EA=EF=F2 - Gatsis Nikos
Web developer
tel.: 2108256721 - 2108256722
fax: 2108256712
email: ngatsis@qbit.gr
http://www.qbit.gr=20

-----Original Message-----
From: Martin Alterisio [mailto:malterisio777@gmail.com]=20
Sent: Thursday, April 27, 2006 10:50 PM
To: nikos
Cc: PHP-mailist (PHP-mailist)
Subject: Re: [PHP-DB] Bad picture colors

2006/4/27, nikos <nikos@qbit.gr>:
>
> Hello list
>
> I use the following code to shrink some photos.
>
> $directory=3D'/var/www/html/offroads/tmp/';
> $dir=3Dopendir($directory);
> while($file=3Dreaddir($dir)) {
> $dirfile=3D$directory.$file;
> if(is_file($dirfile)) {
> copy($dirfile,$directory."sm/sm_".$file);
> $imgReal =3D ImageCreateFromJPEG($dirfile);
> $x =3D ImagesX($imgReal);
> $y =3D ImagesY($imgReal);
> $newX=3D$x*0.1783;
> $newY=3D$y*0.1783;
> $img =3D ImageCreate($newX,$newY);
> ImageCopyResized($img, $imgReal, 0, 0, 0, 0,
> $newX,
> $newY, $x, $y);
> //$newimg=3Dimagecolorstotal($img);
> ImageJPEG($img,$directory."sm/sm_".$file);
> clearstatcache();
> }
> }
> closedir($dir);
>
> My problem is that the color results are very bad. How can I take =

picture
> with good colors?
>
> Thank you
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


Try using imagecopyresampled() instead of imagecopyresized(). It uses a =
more
precise algorithm which means: more time to complete. But since it seems
you're creating a cache of resized images that won't mather once the =
resize
its done.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com