Domanda

Lavorare in Mac OSX, cacao

Ho un'immagine psd con la proprietà a strati. Voglio ritagliare al rect ritagliare e salvare l'immagine ritagliata con le impostazioni di immagine originale.

Sto usando CGImageRef per tutte le operazioni connesse l'immagine.

Ho allegato il codice che ho usato per ritagliare l'immagine è riportata qui sotto. Ma non riesce a creare l'immagine più livelli.

NSImage *img = [[NSImage alloc]initWithContentsOfFile:imagePath];
NSBitmapImageRep *rep = [[NSBitmapImageRep alloc] initWithData:[img TIFFRepresentation]];
CGImageRef imageRef = [rep CGImage];
CGImageRef cropedImage = CGImageCreateWithImageInRect(imageRef, cropRect);


CGImageDestinationRef idst = CGImageDestinationCreateWithURL( url, type, 1, NULL );
if( idst != NULL ) {

           CGImageDestinationAddImage( idst, image, properties );
           bool success = CGImageDestinationFinalize( idst );

    }
È stato utile?

Soluzione

Non c'è modo di leggere strati separati da file PSD in Mac OS X con le API solo incorporato. Tutto è quasi certamente sta per passare attraverso CGImageSource, e CGImageSource non supporta la lettura strati separati da file PSD. ( la documentazione afferma esplicitamente per la funzione CGImageSourceGetCount , e la sperimentazione con gli orsi solo CGImageSourceCreateImageAtIndex fuori.)

Sarà necessario utilizzare una libreria PSD-lettura di terze parti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top