diff --git a/Source/utils/CGMappings.swift b/Source/utils/CGMappings.swift index 5f18efd9..e3acc84b 100644 --- a/Source/utils/CGMappings.swift +++ b/Source/utils/CGMappings.swift @@ -137,7 +137,19 @@ public extension Node { func toNativeImage(size: Size, layout: ContentLayout = .of()) -> MImage { let renderer = RenderUtils.createNodeRenderer(self, view: nil) - return renderer.renderToImage(bounds: size.rect()) + let rect = size.rect() + + MGraphicsBeginImageContextWithOptions(size.toCG(), false, 1) + let ctx = MGraphicsGetCurrentContext()! + ctx.clear(rect.toCG()) + + let transform = LayoutHelper.calcTransform(self, layout, size) + ctx.concatenate(transform.toCG()) + renderer.render(in: ctx, force: false, opacity: self.opacity) + + let img = MGraphicsGetImageFromCurrentImageContext() + MGraphicsEndImageContext() + return img! } }