|
Packit Service |
df60bb |
#include <stdio.h>
|
|
Packit Service |
df60bb |
#include "gd.h"
|
|
Packit Service |
df60bb |
#include "gdtest.h"
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
int main()
|
|
Packit Service |
df60bb |
{
|
|
Packit Service |
df60bb |
gdImagePtr im;
|
|
Packit Service |
df60bb |
FILE *fp;
|
|
Packit Service |
df60bb |
char *file;
|
|
Packit Service |
df60bb |
const int r = 255, g = 0, b = 0;
|
|
Packit Service |
df60bb |
int r_f,g_f,b_f, trans_c_f;
|
|
Packit Service |
df60bb |
int trans_c = gdTrueColorAlpha(r,g,b,0);
|
|
Packit Service |
df60bb |
int error = 0;
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
im = gdImageCreateTrueColor(192, 36);
|
|
Packit Service |
df60bb |
if (im == NULL) {
|
|
Packit Service |
df60bb |
gdTestErrorMsg("Cannot create image\n");
|
|
Packit Service |
df60bb |
return 1;
|
|
Packit Service |
df60bb |
}
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
gdImageColorTransparent(im, trans_c);
|
|
Packit Service |
df60bb |
gdImageFilledRectangle(im, 0,0, 192,36, trans_c);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
file = gdTestTempFile("bug0006.gif");
|
|
Packit Service |
df60bb |
fp = fopen(file, "wb");
|
|
Packit Service |
df60bb |
if (!fp) {
|
|
Packit Service |
df60bb |
gdTestErrorMsg("Cannot open <%s> for writing\n", file);
|
|
Packit Service |
df60bb |
return 1;
|
|
Packit Service |
df60bb |
}
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
gdImageTrueColorToPaletteSetMethod(im, GD_QUANT_JQUANT, 0);
|
|
Packit Service |
df60bb |
gdImageTrueColorToPalette(im, 1, 256);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
gdImageGif(im,fp);
|
|
Packit Service |
df60bb |
fclose(fp);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
gdImageDestroy(im);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
fp = fopen(file, "rb");
|
|
Packit Service |
df60bb |
if (!fp) {
|
|
Packit Service |
df60bb |
gdTestErrorMsg("Cannot open <%s> for reading\n", file);
|
|
Packit Service |
df60bb |
return 1;
|
|
Packit Service |
df60bb |
}
|
|
Packit Service |
df60bb |
im = gdImageCreateFromGif(fp);
|
|
Packit Service |
df60bb |
fclose(fp);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
if (!im) {
|
|
Packit Service |
df60bb |
gdTestErrorMsg("Cannot create image from <%s>\n", file);
|
|
Packit Service |
df60bb |
return 1;
|
|
Packit Service |
df60bb |
}
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
trans_c_f = gdImageGetTransparent(im);
|
|
Packit Service |
df60bb |
if (gdTestAssert(trans_c_f == 1)) {
|
|
Packit Service |
df60bb |
r_f = gdImageRed(im, trans_c_f);
|
|
Packit Service |
df60bb |
g_f = gdImageGreen(im, trans_c_f);
|
|
Packit Service |
df60bb |
b_f = gdImageBlue(im, trans_c_f);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
if (!gdTestAssert(r_f == r) || !gdTestAssert(g_f==g) || !gdTestAssert(b_f==b)) {
|
|
Packit Service |
df60bb |
error = 1;
|
|
Packit Service |
df60bb |
}
|
|
Packit Service |
df60bb |
} else {
|
|
Packit Service |
df60bb |
error = 1;
|
|
Packit Service |
df60bb |
}
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
/* Destroy it */
|
|
Packit Service |
df60bb |
gdImageDestroy(im);
|
|
Packit Service |
df60bb |
return error;
|
|
Packit Service |
df60bb |
}
|