mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-08-14 17:24:46 +03:00
account for pixelsize=2 in ImagingExpand()
This commit is contained in:
parent
25df706e67
commit
875d59122a
|
@ -53,38 +53,40 @@ ImagingExpand(Imaging imIn, int xmargin, int ymargin, int mode) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#define EXPAND_LINE(type, image, yin, yout) \
|
||||
#define EXPAND_LINE(type, yin, yout) \
|
||||
{ \
|
||||
for (x = 0; x < xmargin; x++) { \
|
||||
imOut->image[yout][x] = imIn->image[yin][0]; \
|
||||
((type *)imOut->image[yout])[x] = ((type *)imIn->image[yin])[0]; \
|
||||
} \
|
||||
for (x = 0; x < imIn->xsize; x++) { \
|
||||
imOut->image[yout][x + xmargin] = imIn->image[yin][x]; \
|
||||
((type *)imOut->image[yout])[x + xmargin] = ((type *)imIn->image[yin])[x]; \
|
||||
} \
|
||||
for (x = 0; x < xmargin; x++) { \
|
||||
imOut->image[yout][xmargin + imIn->xsize + x] = \
|
||||
imIn->image[yin][imIn->xsize - 1]; \
|
||||
((type *)imOut->image[yout])[xmargin + imIn->xsize + x] = \
|
||||
((type *)imIn->image[yin])[imIn->xsize - 1]; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define EXPAND(type, image) \
|
||||
#define EXPAND(type) \
|
||||
{ \
|
||||
for (y = 0; y < ymargin; y++) { \
|
||||
EXPAND_LINE(type, image, 0, y); \
|
||||
EXPAND_LINE(type, 0, y); \
|
||||
} \
|
||||
for (y = 0; y < imIn->ysize; y++) { \
|
||||
EXPAND_LINE(type, image, y, y + ymargin); \
|
||||
EXPAND_LINE(type, y, y + ymargin); \
|
||||
} \
|
||||
for (y = 0; y < ymargin; y++) { \
|
||||
EXPAND_LINE(type, image, imIn->ysize - 1, ymargin + imIn->ysize + y); \
|
||||
EXPAND_LINE(type, imIn->ysize - 1, ymargin + imIn->ysize + y); \
|
||||
} \
|
||||
}
|
||||
|
||||
ImagingSectionEnter(&cookie);
|
||||
if (imIn->image8) {
|
||||
EXPAND(UINT8, image8);
|
||||
} else {
|
||||
EXPAND(INT32, image32);
|
||||
if (imIn->pixelsize == 1) {
|
||||
EXPAND(UINT8);
|
||||
} else if (imIn->pixelsize == 2) {
|
||||
EXPAND(UINT16);
|
||||
} else if (imIn->pixelsize == 4) {
|
||||
EXPAND(INT32);
|
||||
}
|
||||
ImagingSectionLeave(&cookie);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user