From: Dmitry Timoshkov dmitry@baikal.ru
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/gdiplus/image.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 6e55113dbce..cfc6f670260 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -59,7 +59,12 @@ static const struct { &GUID_WICPixelFormat24bppBGR, PixelFormat24bppRGB, 0 }, { &GUID_WICPixelFormat32bppBGR, PixelFormat32bppRGB, 0 }, { &GUID_WICPixelFormat32bppBGRA, PixelFormat32bppARGB, 0 }, + { &GUID_WICPixelFormat32bppCMYK, PixelFormat32bppCMYK, 0 }, + { &GUID_WICPixelFormat32bppGrayFloat, PixelFormat32bppARGB, 0 }, { &GUID_WICPixelFormat32bppPBGRA, PixelFormat32bppPARGB, 0 }, + { &GUID_WICPixelFormat48bppRGB, PixelFormat48bppRGB, 0 }, + { &GUID_WICPixelFormat64bppCMYK, PixelFormat48bppRGB, 0 }, + { &GUID_WICPixelFormat64bppRGBA, PixelFormat48bppRGB, 0 }, { NULL } };
@@ -4176,7 +4181,8 @@ static GpStatus decode_image_png(IStream* stream, GpImage **image) hr = IWICBitmapFrameDecode_GetPixelFormat(frame, &format); if (hr == S_OK) { - if (IsEqualGUID(&format, &GUID_WICPixelFormat8bppGray)) + if (IsEqualGUID(&format, &GUID_WICPixelFormat8bppGray) || + IsEqualGUID(&format, &GUID_WICPixelFormat64bppRGBA)) force_conversion = TRUE; else if ((IsEqualGUID(&format, &GUID_WICPixelFormat8bppIndexed) || IsEqualGUID(&format, &GUID_WICPixelFormat4bppIndexed) ||