~reviczky/luatex/texlive-bin-git

« back to all changes in this revision

Viewing changes to libs/gd/libgd-2.1.0/tests/jpeg/jpeg_im2im.c

  • Committer: Adam Reviczky
  • Date: 2015-04-26 22:40:47 UTC
  • Revision ID: adam.reviczky@kclalumni.net-20150426224047-i2p26n3wqphupq6z
TeX Live 2015 import (rev. 37052)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "gd.h"
2
 
#include "gdtest.h"
3
 
 
4
 
int main()
5
 
{
6
 
        gdImagePtr src, dst;
7
 
        int r, g, b;
8
 
        void *p;
9
 
        int size = 0;
10
 
        int status = 0;
11
 
#if 0
12
 
        CuTestImageResult result = {0, 0};
13
 
#endif
14
 
 
15
 
        src = gdImageCreateTrueColor(100, 100);
16
 
        if (src == NULL) {
17
 
                printf("could not create src\n");
18
 
                return 1;
19
 
        }
20
 
        r = gdImageColorAllocate(src, 0xFF, 0, 0);
21
 
        g = gdImageColorAllocate(src, 0, 0xFF, 0);
22
 
        b = gdImageColorAllocate(src, 0, 0, 0xFF);
23
 
        gdImageFilledRectangle(src, 0, 0, 99, 99, r);
24
 
        gdImageRectangle(src, 20, 20, 79, 79, g);
25
 
        gdImageEllipse(src, 70, 25, 30, 20, b);
26
 
 
27
 
#define OUTPUT_JPEG(name) do {                                                  \
28
 
                FILE *fp;                                                                               \
29
 
                                                                                                                \
30
 
                fp = fopen("jpeg_im2im_" #name ".jpeg", "wb");  \
31
 
                if (fp) {                                                                               \
32
 
                        gdImageJpeg(name, fp, 100);                                     \
33
 
                        fclose(fp);                                                                     \
34
 
                }                                                                                               \
35
 
        } while (0)
36
 
 
37
 
        OUTPUT_JPEG(src);
38
 
        p = gdImageJpegPtr(src, &size, 100);
39
 
        if (p == NULL) {
40
 
                status = 1;
41
 
                printf("p is null\n");
42
 
                goto door0;
43
 
        }
44
 
        if (size <= 0) {
45
 
                status = 1;
46
 
                printf("size is non-positive\n");
47
 
                goto door1;
48
 
        }
49
 
 
50
 
        dst = gdImageCreateFromJpegPtr(size, p);
51
 
        if (dst == NULL) {
52
 
                status = 1;
53
 
                printf("could not create dst\n");
54
 
                goto door1;
55
 
        }
56
 
        OUTPUT_JPEG(dst);
57
 
#if 0
58
 
        gdTestImageDiff(src, dst, NULL, &result);
59
 
        if (result.pixels_changed > 0) {
60
 
                status = 1;
61
 
                printf("pixels changed: %d\n", result.pixels_changed);
62
 
        }
63
 
#endif
64
 
        gdImageDestroy(dst);
65
 
door1:
66
 
        gdFree(p);
67
 
door0:
68
 
        gdImageDestroy(src);
69
 
        return status;
70
 
}