CGImageSourceCreateThumbnailAtIndex
という機能を使用して、UIImage
からサムネイルを作成します。私が持っているのはUIImage
です。イメージはUIView
のスナップショットです。CGImageSourceCreateThumbnailAtIndexを使用してUIImageからサムネイルを作成
サムネイルを作成する方法は他にはありません。既に使用している他の方法と比較したいので、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
を持っています、そのイメージはディスク上ではなくメモリ上にあります。ディスクに保存したくない場合や、パフォーマンスが低下する場合があります。
メモリにあるUIImage
からCGImageSourceRef
を取得するにはどうすればよいですか?
どのメモリには?すべてのイメージ・インスタンスがメモリー内にあります。 @Nirav Dと同じように使ってください。 –