diff options
Diffstat (limited to 'src/core/type_conversion.cpp')
-rw-r--r-- | src/core/type_conversion.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/type_conversion.cpp b/src/core/type_conversion.cpp index aea924dbd..403125784 100644 --- a/src/core/type_conversion.cpp +++ b/src/core/type_conversion.cpp @@ -59,6 +59,11 @@ QImage toQImage(const SkBitmap &bitmap) case kRGBA_F16_SkColorType: case kRGBA_F32_SkColorType: case kRGBA_F16Norm_SkColorType: + case kR8G8_unorm_SkColorType: + case kA16_float_SkColorType: + case kA16_unorm_SkColorType: + case kR16G16_float_SkColorType: + case kR16G16_unorm_SkColorType: qWarning("Unknown or unsupported skia image format"); break; case kAlpha_8_SkColorType: @@ -131,6 +136,21 @@ QImage toQImage(const SkBitmap &bitmap) case kGray_8_SkColorType: image = toQImage(bitmap, QImage::Format_Grayscale8); break; + case kR16G16B16A16_unorm_SkColorType: + switch (bitmap.alphaType()) { + case kUnknown_SkAlphaType: + break; + case kUnpremul_SkAlphaType: + image = toQImage(bitmap, QImage::Format_RGBA64); + break; + case kOpaque_SkAlphaType: + image = toQImage(bitmap, QImage::Format_RGBX64); + break; + case kPremul_SkAlphaType: + image = toQImage(bitmap, QImage::Format_RGBA64_Premultiplied); + break; + } + break; } return image; } |