CGImageSourceCreateThumbnailAtIndex
からサムネイルを作成する関数を使用したいUIImage
。私が持っているのはUIImage
それ自体だけです。イメージは のスナップショットUIView
です。
サムネイルを作成するために他の方法を使用したくありませんCGImageSourceCreateThumbnailAtIndex
..
とはいえ、これは私がこれまでに持っているコードです。
UIImage
このコードでカテゴリを作成しました:
- (UIImage *)createSquaredThumbnailWithWidth:(NSInteger)width {
CFDictionaryRef options = (__bridge CFDictionaryRef) @{
(id) kCGImageSourceCreateThumbnailWithTransform : @YES,
(id) kCGImageSourceCreateThumbnailFromImageAlways : @YES,
(id) kCGImageSourceThumbnailMaxPixelSize : @(width)
};
CGImageRef scaledImageRef = CGImageSourceCreateThumbnailAtIndex(????, 0, options);
UIImage* scaled = [UIImage imageWithCGImage:scaledImageRef];
CGImageRelease(scaledImageRef);
return scaled;
}
私の問題はこの行にあります:
CGImageRef scaledImageRef = CGImageSourceCreateThumbnailAtIndex(????, 0, options);
この関数の最初のパラメーターは を要求しますCGImageSourceRef
が、私が言ったようにUIImage
、そのイメージはディスクではなくメモリ上にあり、ディスクに保存したくありません。そうしないと、パフォーマンスが低下します。
メモリ上にあるCGImageSourceRef
からを取得するにはどうすればよいですか???UIImage