2010-08-11 6 views
0

Работает в Mac OSX, Cocoapsd Создание изображения с помощью свойств слоя с использованием CGImageRef

У меня есть изображение psd со слоистым свойством. Я хочу обрезать его по кадрированию и сохранить это обрезанное изображение с настройками исходного изображения.

Я использую CGImageRef для всех операций, связанных с изображением.

Я приложил код, который я использовал для обрезки изображения, приведен ниже. Но он не создает многоуровневое изображение.

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

    } 

ответ

1

Невозможно прочитать отдельные слои из PSD-файлов в Mac OS X только с использованием встроенных API. Все почти наверняка пройдет через CGImageSource, а CGImageSource не поддерживает чтение отдельных слоев из файлов PSD. (The documentation says this explicitly for the CGImageSourceGetCount function, а эксперимент используется только CGImageSourceCreateImageAtIndex.)

Вам необходимо использовать стороннюю библиотеку для чтения PSD.

+0

Есть ли библиотека для чтения и записи изображений .psd? И он также должен поддерживать crop !. – Dhanaraj

+0

Dhanaraj: Вы должны задать это как отдельный вопрос. –

+0

Вы можете сделать это с помощью Carbon/Quicktime. – hooleyhoop

 Смежные вопросы

  • Нет связанных вопросов^_^