Browse Source

- Fix #23808

PEAR_1_4DEV
Pierre Joye 23 years ago
parent
commit
19f3c5b5fa
  1. 9
      ext/gd/libgd/gd.c

9
ext/gd/libgd/gd.c

@ -2075,9 +2075,12 @@ void gdImageCopyMerge (gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int s
} else {
dc = gdImageGetPixel(dst, tox, toy);
ncR = (int)(gdImageRed (src, c) * (pct / 100.0f) + ((100 - pct) / 100.0f));
ncG = (int)(gdImageGreen (src, c) * (pct / 100.0f) + ((100 - pct) / 100.0f));
ncB = (int)(gdImageBlue (src, c) * (pct / 100.0f) + ((100 - pct) / 100.0f));
ncR = (int)gdImageRed (src, c) * (pct / 100.0)
+ gdImageRed (dst, dc) * ((100 - pct) / 100.0);
ncG = (int)gdImageGreen (src, c) * (pct / 100.0)
+ (int)gdImageGreen (dst, dc) * ((100 - pct) / 100.0);
ncB = (int)gdImageBlue (src, c) * (pct / 100.0)
+ gdImageBlue (dst, dc) * ((100 - pct) / 100.0);
/* Find a reasonable color */
nc = gdImageColorResolve (dst, ncR, ncG, ncB);

Loading…
Cancel
Save