From 195007d4f00dd2c04a0f2859a8bfff7632a45530 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 8 May 2022 21:36:57 +0800 Subject: ... --- src/osx/graphics/quartz/ImageFactory.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/osx/graphics/quartz/ImageFactory.cpp') diff --git a/src/osx/graphics/quartz/ImageFactory.cpp b/src/osx/graphics/quartz/ImageFactory.cpp index 2c6d4705..5ff262c3 100644 --- a/src/osx/graphics/quartz/ImageFactory.cpp +++ b/src/osx/graphics/quartz/ImageFactory.cpp @@ -87,7 +87,7 @@ std::unique_ptr QuartzImageFactory::CreateBitmap(int width, CGColorSpaceRef color_space = CGColorSpaceCreateDeviceRGB(); const auto buffer_size = width * height * 4; - auto buffer = new unsigned char[buffer_size]; + auto buffer = new unsigned char[buffer_size]{0}; auto cg_data_provider = CGDataProviderCreateWithData( nullptr, buffer, buffer_size, @@ -95,11 +95,13 @@ std::unique_ptr QuartzImageFactory::CreateBitmap(int width, delete[] static_cast(data); }); - auto cg_image = CGImageCreate(width, height, 8, 32, 4 * width, color_space, - kCGImageAlphaLast, nullptr, nullptr, true, - kCGRenderingIntentDefault); + auto cg_image = + CGImageCreate(width, height, 8, 32, 4 * width, color_space, + kCGImageAlphaPremultipliedLast, cg_data_provider, nullptr, + true, kCGRenderingIntentDefault); CGColorSpaceRelease(color_space); + CGDataProviderRelease(cg_data_provider); return std::unique_ptr( new QuartzImage(GetGraphicsFactory(), this, cg_image, true, buffer)); -- cgit v1.2.3