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