Index: src/ports/SkImageDecoder_WIC.cpp |
diff --git a/src/ports/SkImageDecoder_WIC.cpp b/src/ports/SkImageDecoder_WIC.cpp |
index fa408836a4a4c09f71d3389ea1121b9d3f653cc8..7efa9d7dc5d9862c46d941d3d21e4469690a030e 100644 |
--- a/src/ports/SkImageDecoder_WIC.cpp |
+++ b/src/ports/SkImageDecoder_WIC.cpp |
@@ -404,16 +404,13 @@ bool SkImageEncoder_WIC::onEncode(SkWStream* stream |
hr = piBitmapFrameEncode->SetSize(width, height); |
} |
- //Set the pixel format of the frame. |
+ //Set the pixel format of the frame. If native encoded format cannot match BGRA, |
+ //it will choose the closest pixel format that it supports. |
const WICPixelFormatGUID formatDesired = GUID_WICPixelFormat32bppBGRA; |
WICPixelFormatGUID formatGUID = formatDesired; |
if (SUCCEEDED(hr)) { |
hr = piBitmapFrameEncode->SetPixelFormat(&formatGUID); |
} |
- if (SUCCEEDED(hr)) { |
msarett
2016/03/18 16:41:32
This code block causes the WIC encoder to fail for
|
- //Be sure the image format is the one requested. |
- hr = IsEqualGUID(formatGUID, formatDesired) ? S_OK : E_FAIL; |
- } |
//Write the pixels into the frame. |
if (SUCCEEDED(hr)) { |
@@ -438,7 +435,7 @@ bool SkImageEncoder_WIC::onEncode(SkWStream* stream |
} |
/////////////////////////////////////////////////////////////////////////////// |
- |
+/* |
scroggo
2016/03/18 17:23:12
This will disable the encoders on Windows. Is that
|
static SkImageEncoder* sk_imageencoder_wic_factory(SkImageEncoder::Type t) { |
switch (t) { |
case SkImageEncoder::kBMP_Type: |
@@ -452,7 +449,7 @@ static SkImageEncoder* sk_imageencoder_wic_factory(SkImageEncoder::Type t) { |
return new SkImageEncoder_WIC(t); |
} |
-static SkImageEncoder_EncodeReg gEReg(sk_imageencoder_wic_factory); |
+static SkImageEncoder_EncodeReg gEReg(sk_imageencoder_wic_factory);*/ |
static SkImageDecoder::Format get_format_wic(SkStreamRewindable* stream) { |
SkImageDecoder::Format format; |