diff --git a/src/_macosx.m b/src/_macosx.m index a5775789e173..a076e7313059 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -3222,9 +3222,15 @@ static void _data_provider_release(void* info, const void* data, size_t size) CGFloat deviceScale = _get_device_scale(cr); - CGContextDrawImage(cr, CGRectMake(x, y, ncols/deviceScale, nrows/deviceScale), bitmap); + CGContextSaveGState(cr); + CGContextTranslateCTM(cr, 0, y + nrows/deviceScale); + CGContextScaleCTM(cr, 1.0, -1.0); + + CGContextDrawImage(cr, CGRectMake(x, 0, ncols/deviceScale, nrows/deviceScale), bitmap); CGImageRelease(bitmap); + CGContextRestoreGState(cr); + Py_INCREF(Py_None); return Py_None; }