Ну, CGImage
не CALayer
, так что вы, очевидно, в результате чего некоторые шаги там, но я предполагаю, что вы знаете, что вы говорите, насколько подходило к CALayer
или этажерки.
Если ваш вопрос о создании CGImage
сек без использования UIImage, вы можете попробовать глядя на следующие функции:
- CGImageCreateWithJPEGDataProvider
- CGImageCreateWithPNGDataProvider
Если вы не знаете заранее, что вид изображения, просто используйте соответствующий метод. В противном случае вам нужно будет посмотреть подпись файла, чтобы увидеть, содержит ли он PNG или JFIF. Конечно, для этого требуется, чтобы вы реализовали CGDataProvider
.
Я предполагаю, что это именно то, что класс UIImage
уже делает. Если вы хотите выжать каждый бит эффективности от того, вы можете использовать один из следующих методов в UIImage
классе:
+ (UIImage *)imageWithContentsOfFile:(NSString *)path
+ (UIImage *)imageWithData:(NSData *)data
Единственное различие между этими методами и
+ (UIImage *)imageNamed:(NSString *)name
что imageNamed:
кэширует изображение. Если вы используете один из первых методов, это не так.
Спасибо за это. CGImageCreateWithJPEGDataProvider и CGImageCreateWithPNGDataProvider были именно тем, что я искал. –