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@xxxxxxxxxxxxxxxxxxxx> > 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 > > > -- -- AnotherNetFellow Email: anothernetfellow@xxxxxxxxx