diff --git a/Source/model/scene/Shape.swift b/Source/model/scene/Shape.swift index a86aae74..dc41af4c 100644 --- a/Source/model/scene/Shape.swift +++ b/Source/model/scene/Shape.swift @@ -84,10 +84,10 @@ open class Shape: Node { } fileprivate func createContext() -> CGContext? { - + let screenScale: CGFloat = MMainScreen()?.mScale ?? 1.0 let smallSize = CGSize(width: 1.0, height: 1.0) - MGraphicsBeginImageContextWithOptions(smallSize, false, 1.0) + MGraphicsBeginImageContextWithOptions(smallSize, false, screenScale) return MGraphicsGetCurrentContext() } diff --git a/Source/render/GroupRenderer.swift b/Source/render/GroupRenderer.swift index 2d572327..36f3d3ed 100644 --- a/Source/render/GroupRenderer.swift +++ b/Source/render/GroupRenderer.swift @@ -69,7 +69,7 @@ class GroupRenderer: NodeRenderer { renderers.removeAll() renderers = group.contents.compactMap { child -> NodeRenderer? in - return RenderUtils.createNodeRenderer(child, view: view, parentRenderer: self) + RenderUtils.createNodeRenderer(child, view: view, parentRenderer: self) } var parent: NodeRenderer = self diff --git a/Source/render/NodeRenderer.swift b/Source/render/NodeRenderer.swift index 418db4fb..854b9fc2 100644 --- a/Source/render/NodeRenderer.swift +++ b/Source/render/NodeRenderer.swift @@ -254,7 +254,8 @@ class NodeRenderer { } func renderToImage(bounds: Rect, inset: Double = 0, coloringMode: ColoringMode = .rgb) -> MImage { - MGraphicsBeginImageContextWithOptions(CGSize(width: bounds.w + inset, height: bounds.h + inset), false, 1) + let screenScale: CGFloat = MMainScreen()?.mScale ?? 1.0 + MGraphicsBeginImageContextWithOptions(CGSize(width: bounds.w + inset, height: bounds.h + inset), false, screenScale) let tempContext = MGraphicsGetCurrentContext()! // flip y-axis and leave space for the blur