Home  |  Linux  | Mysql  | PHP  | XML
From:Pierre Joye Date:Tue Jun 10 11:47:58 2008
Subject:Re: [GD-DEVEL] Advanced image resize
On Tue, Jun 10, 2008 at 6:58 PM, ShadowRoze <roze@laun.se> wrote:

> I load the following types with the script utilizing the function: jpeg,
> gif, png.
> Not using ImageColorsForIndex results in having to use bitshifting instead.

Which is faster than calling the function and access the array table elements.

> After trying to implement all your suggestions the time required increased
> with 50% (ergo, to 30s).

I was not clear or you did something wrong (see below). I'm also not
sure why you copy the images twice (except if you want to copy it over
itself), filling it neither.

If you like to have a specific color (or translucent) for the
uncovered area, you can use imagefilledrectangle and only with the
desired area(s). It will also spare you some cycles (flood fill is
slow).

> Guess I'll have to wait for that one then.

Well, as I said, you are missing the main goal of  this algorithm. To
use bicubic for reducing the size of an image is completely useless
(be in C, php or whatever else).

I also wonder why you don't use imagecopyresampled.

Now about the possible optimization of your scripts, using only
truecolor images and the other things I listed earlier:

(in second)
ImageCopyResampledBicubic: 1.76
ImageCopyResampledBicubic2: 21.46
ImageCopyResampledBicubic: 31.84

The sources image is 3072x2034 and resized to 550x275.

Results can be seen here:

http://pierre.libgd.org/resize/

I don't see any relevant differences, nothing than can justify a PHP
implementation.

I'm pretty sure to drastically reduce these numbers by using a simpler
algorithm without visible impact.

If you load a png, verify if the image is truecolor, if not you can
use your version, if not it is fine to use Bicubic2.


Cheers,
--
Pierre

http://blog.thepimp.net | http://www.libgd.org
Navigate in group php.gd.devel at sever news.php.net
Previous Next




  
© No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants