Frage

Arbeiten in Mac OSX, Kakao

ich ein psd Bild mit geschichteter Eigenschaft. Ich will es auf die Ernte rect zuzuschneiden und diese beschnittene Bild mit den Einstellungen des ursprünglichen Bildes speichern.

Ich bin mit CGImageRef für alle das Bild bezogene Operationen.

Ich habe den Code eingeschlossen i verwendet das Bild zuzuschneiden ist unten angegeben. Aber es scheitert das lagertes Bild zu erstellen.

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 );

    }
War es hilfreich?

Lösung

Es gibt keine Möglichkeit, separate Ebene von PSD-Dateien in Mac OS X mit nur integrierten APIs zu lesen. Alles wird mit ziemlicher Sicherheit durch CGImageSource gehen, und CGImageSource unterstützt keine separaten Ebene von PSD-Dateien zu lesen. ( die Dokumentation sagt dies ausdrücklich für die CGImageSourceGetCount Funktion und nur CGImageSourceCreateImageAtIndex trägt es aus mit Experimenten.)

Sie werden eine Drittanbieter-PSD-Bibliothek zum Lesen verwenden müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top