Re: PHP GD - Create a "flag"
| From: | Ashley Sheridan | Date: | Sun, 09 May 2010 12:38:31 +0000 |
| Subject: | Re: PHP GD - Create a "flag" | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-305022@lists.php.net to get a copy of this message | ||
On Sun, 2010-05-09 at 14:21 +0200, Giorgio wrote:
> Thankyou Ashley,
>
> as I only need 5 colors for each image, my idea was to create a single pixel
> image for each color and save it on the hd (so that i don't have to create
> it every time).
>
> I've finally used this code:
>
> imagecopymerge($base, $img1, 0, 0, 1, 1, 100, 500, 75);
> imagecopymerge($base, $img2, 100, 0, 1, 1, 100, 500, 75);
> imagecopymerge($base, $img3, 200, 0, 1, 1, 100, 500, 75);
> imagecopymerge($base, $img4, 300, 0, 1, 1, 100, 500, 75);
> imagecopymerge($base, $img5, 400, 0, 1, 1, 100, 500, 75);
>
> ($imgX are 1*1 images. I have a function that checks if they exists)
>
> You can see the output here:
> http://aagmns47.facebook.joyent.us/sdna/.
>
> I think that copying a 1*1 image (and as said i'll cache all 1*1 colors on
> the hd) on a background is less resource-expensive than creating a coloured
> rectangle every time, isn't it?
>
> Giorgio
>
>
> 2010/5/9 Ashley Sheridan <ash@ashleysheridan.co.uk>
>
> > On Sat, 2010-05-08 at 18:48 +0200, Giorgio wrote:
> >
> > Hi,
> >
> > i've just started using GD libraries. My purpose is to create something like
> > a flag.
> >
> > So that i have a 600*600 px background image, and a 1*1 px image for each
> > colour I need.
> >
> > Ok now let's say i want to colour a third of the background image. I can use
> > this code:
> >
> > imagecopymerge($base, $img1, 0, 0, 0, 0, 200, 600, 85);
> >
> > It will simply make red first 200 px (on x axys) of the bg image. And this
> > work.
> >
> > Now the problem is: how can i add another colour on pixels from 201 (201
> > right? not 200?) to 400?
> >
> > Thankyou
> >
> >
> >
> > Erm, why don't you use something like imagerectangle() ? It's far easier
> > and less resource intensive than having loads of single-pixel images for
> > each colour you want to use.
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> >
> >
>
>
Sorry, use imagefilledrectangle() instead of imagerectangle() in the
example I just gave you!
Thanks,
Ash
http://www.ashleysheridan.co.uk