mirror of
https://gitee.com/openharmony/arkui_ace_engine
synced 2024-10-07 16:33:54 +00:00
!43732 【挑单5.0】解决drawablePixelMap创建的editor设置不合理问题
Merge pull request !43732 from 吴寅潇/fixDrawablePixelMap
This commit is contained in:
commit
fb3889373a
@ -16,6 +16,7 @@
|
||||
#include "image_converter.h"
|
||||
|
||||
#include "drawable_descriptor_log.h"
|
||||
#include "securec.h"
|
||||
#ifndef PREVIEW
|
||||
#include "image_utils.h"
|
||||
#include "platform/image_native/image_type.h"
|
||||
@ -139,13 +140,17 @@ std::shared_ptr<Media::PixelMap> ImageConverter::BitmapToPixelMap(
|
||||
auto data = bitMap->GetPixels();
|
||||
opts.size.width = static_cast<int32_t>(bitMap->GetWidth());
|
||||
opts.size.height = static_cast<int32_t>(bitMap->GetHeight());
|
||||
opts.editable = true;
|
||||
opts.editable = false;
|
||||
auto pixelMap = Media::PixelMap::Create(opts);
|
||||
if (!pixelMap) {
|
||||
HILOGE("PixelMap is null, bitMap's Size = (%{public}d, %{public}d)", bitMap->GetWidth(), bitMap->GetHeight());
|
||||
return pixelMap;
|
||||
}
|
||||
pixelMap->WritePixels(reinterpret_cast<uint8_t*>(data), opts.size.width * opts.size.height * sizeof(uint32_t));
|
||||
auto dstAddr = pixelMap->GetWritablePixels();
|
||||
if (memcpy_s(dstAddr, pixelMap->GetByteCount(), data, pixelMap->GetByteCount()) != 0) {
|
||||
HILOGE("PixelMap write fail");
|
||||
return nullptr;
|
||||
}
|
||||
return pixelMap;
|
||||
}
|
||||
#endif
|
||||
|
@ -113,7 +113,12 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32_t WritePixels(const uint8_t *source, const uint64_t &bufferSize)
|
||||
void* GetWritablePixels()
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int32_t GetByteCount()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user