diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/fl_draw_image_mac.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/fl_draw_image_mac.cxx b/src/fl_draw_image_mac.cxx index c0f8a451f..f70d180c0 100644 --- a/src/fl_draw_image_mac.cxx +++ b/src/fl_draw_image_mac.cxx @@ -178,7 +178,11 @@ static void innards(const uchar *buf, int X, int Y, int W, int H, linedelta = W; } // create an image context - CGColorSpaceRef lut = CGColorSpaceCreateDeviceRGB(); + CGColorSpaceRef lut = 0; + if (delta<=2) + lut = CGColorSpaceCreateDeviceGray(); + else + lut = CGColorSpaceCreateDeviceRGB(); CGDataProviderRef src = CGDataProviderCreateWithData( 0L, array, linedelta*H*delta, 0L); CGImageRef img = CGImageCreate( W, H, 8, 8*delta, linedelta*delta, lut, delta&1?kCGImageAlphaNone:kCGImageAlphaNoneSkipLast, |
