php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
gd_transform.c
Go to the documentation of this file.
1#include "gd.h"
2
4{
5 register int x, y;
6
7 if (im->trueColor) {
8 for (y = 0; y < im->sy / 2; y++) {
9 int *row_dst = im->tpixels[y];
10 int *row_src = im->tpixels[im->sy - 1 - y];
11 for (x = 0; x < im->sx; x++) {
12 register int p;
13 p = row_dst[x];
14 row_dst[x] = im->tpixels[im->sy - 1 - y][x];
15 row_src[x] = p;
16 }
17 }
18 } else {
19 unsigned char p;
20 for (y = 0; y < im->sy / 2; y++) {
21 for (x = 0; x < im->sx; x++) {
22 p = im->pixels[y][x];
23 im->pixels[y][x] = im->pixels[im->sy - 1 - y][x];
24 im->pixels[im->sy - 1 - y][x] = p;
25 }
26 }
27 }
28 return;
29}
30
32{
33
34 int x, y;
35
36 if (im->trueColor) {
37 int *px1, *px2, tmp;
38
39 for (y = 0; y < im->sy; y++) {
40 px1 = im->tpixels[y];
41 px2 = im->tpixels[y] + im->sx - 1;
42 for (x = 0; x < (im->sx >> 1); x++) {
43 tmp = *px1;
44 *px1 = *px2;
45 *px2 = tmp;
46 px1++;
47 px2--;
48 }
49 }
50 } else {
51 unsigned char *px1, *px2, tmp;
52
53 for (y = 0; y < im->sy; y++) {
54 px1 = im->pixels[y];
55 px2 = im->pixels[y] + im->sx - 1;
56 for (x = 0; x < (im->sx >> 1); x++) {
57 tmp = *px1;
58 *px1 = *px2;
59 *px2 = tmp;
60 px1++;
61 px2--;
62 }
63 }
64 }
65}
66
72
73
gdImage * gdImagePtr
Definition gd.h:248
void gdImageFlipVertical(gdImagePtr im)
Definition gd_transform.c:3
void gdImageFlipBoth(gdImagePtr im)
void gdImageFlipHorizontal(gdImagePtr im)
p
Definition session.c:1105
int trueColor
Definition gd.h:217
unsigned char ** pixels
Definition gd.h:172
int ** tpixels
Definition gd.h:218
int sy
Definition gd.h:174
int sx
Definition gd.h:173