/* Use this for commenting out debug-print statements. */
/* Just use the first '#define' to allow all the prints... */
-#define GD2_DBG(s) (s)
-//#define GD2_DBG(s)
+/* #define GD2_DBG(s) (s) */
+#define GD2_DBG(s)
typedef struct
{
goto fail1;
}
- im = gdImageCreate (*sx, *sy);
+ im = gdImageCreateTrueColor(*sx, *sy);
if (im == NULL)
{
GD2_DBG(php_gd_error("Could not create gdImage\n"));
int r = chunkBuf[chunkPos++] << 16;
int g = chunkBuf[chunkPos++] << 8;
int b = chunkBuf[chunkPos++];
- im->pixels[y][x] = a + r + g + b;
+ im->tpixels[y][x] = a + r + g + b;
}
else
{
{
for (x = xlo; x < xhi; x++)
{
- int p = im->pixels[y][x];
GD2_DBG(php_gd_error("%d...",x));
if (im->trueColor)
{
+ int p = im->tpixels[y][x];
chunkData[chunkLen++] = gdTrueColorGetAlpha (p);
chunkData[chunkLen++] = gdTrueColorGetRed (p);
chunkData[chunkLen++] = gdTrueColorGetGreen (p);
}
else
{
- chunkData[chunkLen++] = p;
+ chunkData[chunkLen++] = im->pixels[y][x];
}
};
}
/* Our little 7-bit alpha channel trick costs us a bit here. */
png_bytep *row_pointers;
row_pointers = gdMalloc (sizeof (png_bytep) * height);
- if (row_pointers == NULL)
- {
- php_gd_error("gd-png error: unable to allocate row_pointers\n");
- }
for (j = 0; j < height; ++j)
{
int bo = 0;
- if ((row_pointers[j] = (png_bytep) gdMalloc (width * channels)) == NULL)
- {
- php_gd_error("gd-png error: unable to allocate rows\n");
- for (i = 0; i < j; ++i)
- gdFree (row_pointers[i]);
- return;
- }
+ row_pointers[j] = (png_bytep) gdMalloc (width * channels);
for (i = 0; i < width; ++i)
{
unsigned char a;
{
png_bytep *row_pointers;
row_pointers = gdMalloc (sizeof (png_bytep) * height);
- if (row_pointers == NULL)
- {
- php_gd_error("gd-png error: unable to allocate row_pointers\n");
- }
for (j = 0; j < height; ++j)
{
- if ((row_pointers[j] = (png_bytep) gdMalloc (width)) == NULL)
- {
- php_gd_error("gd-png error: unable to allocate rows\n");
- for (i = 0; i < j; ++i)
- gdFree (row_pointers[i]);
- return;
- }
- for (i = 0; i < width; ++i)
+ row_pointers[j] = (png_bytep) gdMalloc (width);
+ for (i = 0; i < width; ++i)
row_pointers[j][i] = mapping[im->pixels[j][i]];
}