Hi,

I solved it by using:

    #if TargetCocoa
      self.CGImagePreview= CGImageMBS.CreateImage(self.fullpic)
      
self.CGImagePreview=self.CGImagePreview.CopyWithColorSpace(self.CGColourSpace)
    #endif

When drawing the image.

And:
  #if TargetCocoa
    if CGImagePreview<>nil then
      dim c as CGContextMBS = 
CGContextMBS.contextWithCGContext(g.Handle(g.HandleTypeCGContextRef))
      dim r as CGRectMBS = CGMakeRectMBS(0, 0, CGImagePreview.Width, 
CGImagePreview.Height)
      c.DrawPicture(CGImagePreview, r)
      c.Flush
    end if
  #else
    if self.fullpic<>nil then
      g.DrawPicture(self.fullpic,0,0)
    end if
#endif

In the paint event.

self.fullpic is a fully colour managed picture already converted to the correct 
monitor RGB profile.

Regards,

Lee Badham

Bodoni Systems Ltd


> Hi,
> 
> Is there a way of getting Xojo to display the correct colour in screen?
> 
> I’m using LCMS2MBS to convert a colour into the RGB values for my monitor 
> using the correct monitor ICC profile. The picture itself has the right RGB 
> values in it. However, when displayed in my Xojo App, the colour is displayed 
> completely wrong. What is happening is that the picture is being assigned 
> ‘Generic RGB Profile.icc’ before display, not the monitor profile.
> 
> If I convert my image to ‘Generic RGB Profile’ before creating my picture 
> then I would lose the extra gamut my monitor has. Also how would multiple 
> monitors work?
> 
> Regards,
> 
> Lee Badham
> 
> Bodoni Systems Ltd
> 
> 
> 
> _______________________________________________
> Mbsplugins_monkeybreadsoftware.info mailing list
> [email protected]
> https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

_______________________________________________
Mbsplugins_monkeybreadsoftware.info mailing list
[email protected]
https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to