From ff1167734e56af9a0382dc9366c666f237904a04 Mon Sep 17 00:00:00 2001 From: Yay295 Date: Tue, 16 Apr 2024 17:59:31 -0500 Subject: [PATCH] write bgr data as bgr, not rgb, with putdata() --- src/_imaging.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/_imaging.c b/src/_imaging.c index 8d3c803e500..06b80e742ea 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -605,18 +605,18 @@ getink(PyObject *color, Imaging im, char *ink) { return NULL; } if (!strcmp(im->mode, "BGR;15")) { - UINT16 v = ((((UINT16)r) << 7) & 0x7c00) + + UINT16 v = ((((UINT16)b) << 7) & 0x7c00) + ((((UINT16)g) << 2) & 0x03e0) + - ((((UINT16)b) >> 3) & 0x001f); + ((((UINT16)r) >> 3) & 0x001f); - ink[0] = 0x80 | (UINT8)v; - ink[1] = (UINT8)(v >> 8); + ink[0] = (UINT8)v; + ink[1] = 0x80 | (UINT8)(v >> 8); ink[2] = ink[3] = 0; return ink; } else if (!strcmp(im->mode, "BGR;16")) { - UINT16 v = ((((UINT16)r) << 8) & 0xf800) + + UINT16 v = ((((UINT16)b) << 8) & 0xf800) + ((((UINT16)g) << 3) & 0x07e0) + - ((((UINT16)b) >> 3) & 0x001f); + ((((UINT16)r) >> 3) & 0x001f); ink[0] = (UINT8)v; ink[1] = (UINT8)(v >> 8); ink[2] = ink[3] = 0;