Skip to content

Commit a686a48

Browse files
authored
Merge pull request #2876 from cwensley/curtis/mac-more-srgb
Mac: More sRGB fixes
2 parents b6c5a47 + 84e210f commit a686a48

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

lib/monomac

src/Eto.Mac/NSImageExtensions.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ public static class NSImageExtensions
55
public static NSImage Resize(this NSImage image, CGSize newsize, ImageInterpolation interpolation = ImageInterpolation.Default, CGSize? imageSize = null)
66
{
77
var newimage = new NSImage(imageSize ?? newsize);
8-
var newrep = new NSBitmapImageRep(IntPtr.Zero, (nint)newsize.Width, (nint)newsize.Height, 8, 4, true, false, NSColorSpace.DeviceRGB, 4 * (nint)newsize.Width, 32);
8+
var cgimage = new CGBitmapContext(IntPtr.Zero, (nint)newsize.Width, (nint)newsize.Height, 8, 4 * (nint)newsize.Width, CGColorSpace.CreateSrgb(), CGBitmapFlags.PremultipliedLast).ToImage();
9+
var newrep = new NSBitmapImageRep(cgimage);
910
newrep.Size = imageSize ?? newsize;
1011
newimage.AddRepresentation(newrep);
1112

@@ -24,7 +25,8 @@ public static NSImage Resize(this NSImage image, CGSize newsize, ImageInterpolat
2425

2526
public static NSImageRep Resize(this NSImageRep image, CGSize newsize, ImageInterpolation interpolation = ImageInterpolation.Default, CGSize? imageSize = null)
2627
{
27-
var newrep = new NSBitmapImageRep(IntPtr.Zero, (nint)newsize.Width, (nint)newsize.Height, 8, 4, true, false, NSColorSpace.DeviceRGB, 4 * (nint)newsize.Width, 32);
28+
var cgimage = new CGBitmapContext(IntPtr.Zero, (nint)newsize.Width, (nint)newsize.Height, 8, 4 * (nint)newsize.Width, CGColorSpace.CreateSrgb(), CGBitmapFlags.PremultipliedLast).ToImage();
29+
var newrep = new NSBitmapImageRep(cgimage);
2830
newrep.Size = imageSize ?? newsize;
2931

3032
var graphics = NSGraphicsContext.FromBitmap(newrep);

0 commit comments

Comments
 (0)