Hi Peter,

I suggest to use the Core Image Import:
    CGImageSourceRef imageSource =
        CGImageSourceCreateWithURL((CFURLRef)[NSURL fileURLWithPath:path],
NULL);
....

That does handle CMYK, too.

Thorsten


> Von: Peter Krajčík <pkraj...@sunteq.sk>
> Datum: Mon, 18 Oct 2010 14:53:10 +0200
> An: <cocoa-dev@lists.apple.com>
> Betreff: CMYK Text of Photoshop Layer rendered incorrectly
> 
> Hi,
>  
> I am reading Photoshop layer images using this approach:
>  
> (simplified code)
>  
> for (i=0; i <= imageCount; i++)
> {
> unsigned long offset, size;
> GraphicsImportSetImageIndex(importer, i);
> GraphicsImportGetDataOffsetAndSize(importer, &offset, &size);
>  
> // create a Graphics Exporter component that will write Photoshop data
> OSErr err = 
> OpenADefaultComponent(GraphicsExporterComponentType,kQTFileTypePhotoShop,
> &exporter);
>  
> if (err == noErr)
> {
>      // set export parameters
>      Handle bmpDataH = NewHandle(0);
>      GraphicsExportSetInputGraphicsImporter(exporter, importer);
>      GraphicsExportSetOutputHandle(exporter, bmpDataH);
>  
>      // export data to BMP into handle
>      unsigned long actualSizeWritten = 0;
>      err = GraphicsExportDoExport(exporter, &actualSizeWritten);
>  
>           if (err == noErr)
>           {
>  
>                HLock(bmpDataH);
>  
>                //create a simple image with the tiff data, without the bound
> information, its rep will stored to layer as CGImageRef
>                id image = [CIImage imageWithData:[NSData
> dataWithBytes:*bmpDataHlength:GetHandleSize(bmpDataH)]];
>                NSBitmapImageRep* rep = [[[NSBitmapImageRep alloc]
> initWithCIImage:image]autorelease];
>  
>                CGImageRef imageRef = rep.CGImage;
>                self.layerImage =CGImageRetain(imageRef);
>                HUnlock(bmpDataH);
>          }
>  
>      DisposeHandle(bmpDataH);
>      CloseComponent(exporter);
>      }
>  
> }


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to