From 47233aa7c2b44d5ec75f00ffcb5510e22c48fdd2 Mon Sep 17 00:00:00 2001 From: Tombaugh Date: Sat, 2 Dec 2023 11:07:11 +0800 Subject: [PATCH] fix apply colorspace name Signed-off-by: Tombaugh Change-Id: I819d8776291919abf98e822ffe1eede0e7d09b32 --- frameworks/innerkitsimpl/common/src/pixel_map.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frameworks/innerkitsimpl/common/src/pixel_map.cpp b/frameworks/innerkitsimpl/common/src/pixel_map.cpp index 9f2ed201f..0da6c5ac1 100644 --- a/frameworks/innerkitsimpl/common/src/pixel_map.cpp +++ b/frameworks/innerkitsimpl/common/src/pixel_map.cpp @@ -2710,7 +2710,11 @@ static bool isSameColorSpace(const OHOS::ColorManager::ColorSpace &src, uint32_t PixelMap::ApplyColorSpace(const OHOS::ColorManager::ColorSpace &grColorSpace) { + auto grName = grColorSpace.GetColorSpaceName(); if (grColorSpace_ != nullptr && isSameColorSpace(*grColorSpace_, grColorSpace)) { + if (grColorSpace_->GetColorSpaceName() != grName) { + InnerSetColorSpace(grColorSpace); + } return SUCCESS; } ImageInfo imageInfo; @@ -2746,7 +2750,7 @@ uint32_t PixelMap::ApplyColorSpace(const OHOS::ColorManager::ColorSpace &grColor } // Restore target infomation into pixelmap ToImageInfo(imageInfo, dst.info); - grColorSpace_ = std::make_shared(dst.info.refColorSpace()); + grColorSpace_ = std::make_shared(dst.info.refColorSpace(), grName); SetPixelsAddr(m->data.data, m->extend.data, m->data.size, m->GetType(), nullptr); SetImageInfo(imageInfo, true); return SUCCESS; -- Gitee