1
Graphique / Re : sauvegarder une image creer a partie de 2 images
« le: Septembre 16, 2013, 11:02:11 am »
voila un exemple qui marche pas trop mal :
Image img;
Color s,d ;
int alpha = 0xC0;
if (!img.loadFromFile("img1.jpg"))
cout << " Error loading file " << endl;
// creer une zone verte transparent dans le Rect de coordonnées (50,50) et (100,100)
for(unsigned int y = 50; y<100; y++)
for (unsigned int x = 50; x <100; x++)
{
// recupere le pixel source
s = img.getPixel(x,y);
// melange le pixel avec un vert transparent ( le 255 est le vert a fond, on peut mettre la valeur qu'on veut)
s.g = (alpha*s.g + (256-alpha)*255 ) >> 8 ;
// sauve le pixel
img.setPixel(x,y,s);
}
if (!img.saveToFile("out1.jpg"))
cout << "error saving file " << endl;
Color s,d ;
int alpha = 0xC0;
if (!img.loadFromFile("img1.jpg"))
cout << " Error loading file " << endl;
// creer une zone verte transparent dans le Rect de coordonnées (50,50) et (100,100)
for(unsigned int y = 50; y<100; y++)
for (unsigned int x = 50; x <100; x++)
{
// recupere le pixel source
s = img.getPixel(x,y);
// melange le pixel avec un vert transparent ( le 255 est le vert a fond, on peut mettre la valeur qu'on veut)
s.g = (alpha*s.g + (256-alpha)*255 ) >> 8 ;
// sauve le pixel
img.setPixel(x,y,s);
}
if (!img.saveToFile("out1.jpg"))
cout << "error saving file " << endl;