Blame tests/gdimagerotate/bug00067.c
|
Packit |
ed3af9 |
#include <stdio.h>
|
|
Packit |
ed3af9 |
#include <stdlib.h>
|
|
Packit |
ed3af9 |
#include "gd.h"
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
#include "gdtest.h"
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
int main()
|
|
Packit |
ed3af9 |
{
|
|
Packit |
ed3af9 |
gdImagePtr im, exp;
|
|
Packit |
ed3af9 |
char *path, filename[2048];
|
|
Packit |
ed3af9 |
const char *file_im = "gdimagerotate/remirh128.png";
|
|
Packit |
ed3af9 |
FILE *fp;
|
|
Packit |
ed3af9 |
int color;
|
|
Packit |
ed3af9 |
int error = 0;
|
|
Packit |
ed3af9 |
int angle;
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
fp = gdTestFileOpen(file_im);
|
|
Packit |
ed3af9 |
im = gdImageCreateFromPng(fp);
|
|
Packit |
ed3af9 |
fclose(fp);
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
if (!im) {
|
|
Packit |
ed3af9 |
gdTestErrorMsg("loading %s failed.\n", file_im);
|
|
Packit |
ed3af9 |
return 1;
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
color = gdImageColorAllocateAlpha(im, 255, 255, 255, 127);
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
if (color < 0) {
|
|
Packit |
ed3af9 |
gdTestErrorMsg("allocation color from image failed.\n");
|
|
Packit |
ed3af9 |
gdImageDestroy(im);
|
|
Packit |
ed3af9 |
return 1;
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
for (angle = 0; angle <= 180; angle += 15) {
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
exp = gdImageRotateInterpolated(im, angle, color);
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
if (!exp) {
|
|
Packit |
ed3af9 |
gdTestErrorMsg("rotating image failed for %03d.\n", angle);
|
|
Packit |
ed3af9 |
gdImageDestroy(im);
|
|
Packit |
ed3af9 |
return 1;
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
sprintf(filename, "bug00067_%03d_exp.png", angle);
|
|
Packit |
ed3af9 |
path = gdTestFilePath2("gdimagerotate", filename);
|
|
Packit |
ed3af9 |
if (!gdAssertImageEqualsToFile(path, exp)) {
|
|
Packit |
ed3af9 |
gdTestErrorMsg("comparing rotated image to %s failed.\n", path);
|
|
Packit |
ed3af9 |
error += 1;
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
free(path);
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
gdImageDestroy(exp);
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
gdImageDestroy(im);
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
return error;
|
|
Packit |
ed3af9 |
}
|