私は無駄にあちこちを見回しました。スレッドで画像の読み込みを行っていますが、UIKit はスレッドセーフではないため、画像を CGImageRefs として保存する必要がありますが、これを行う方法がわかりません。私は以前にクォーツのもので遊んだことがないので、混乱しています. 基本的に、JPG をディスクから CGImageRef にロードするだけです。また、ボーナス ポイントとして、GIF を CGImageRef にロードする方法はありますか?
質問する
15835 次
2 に答える
30
gcamp は多かれ少なかれ正しいです。これをバックグラウンド スレッドで使用してもかなり安全ですが、質問に答えるには、次のようにするとうまくいくと思います。
CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename("file");
CGImageRef image = CGImageCreateWithPNGDataProvider(dataProvider, NULL, NO, kCGRenderingIntentDefault);
jpg画像用の機能もありますCGImageCreateWithJPEGDataProvider
。
(完了したら、必ずデータ プロバイダーとイメージをリリースしてください)
于 2010-08-23T18:45:28.347 に答える
9
最も簡単な方法は、UIKit を使用し、のCGImage
妥当性を使用することだと思いますUIImage
。
そんな感じ :
UIImage* image = [UIImage imageNamed:@"Your Image.png"];
CGImageRef imageRef = image.CGImage;
于 2010-08-23T18:01:40.307 に答える