3

私のアプリは、Web ページ全体のスクリーンショットを撮ります。フォト アルバムに保存すると、画質が少し低下し、静止画のテキストがぼやけて読みにくくなります。フォト アルバムに保存するときに品質が向上することを約束するこのソリューションを見つけましたが、それでも完全には受け入れられないようです。品質の低下を最小限に抑えて UIImage をフォト アルバムに保存するには、これよりも良い方法はありますか? ありがとう。

UIImage* img = [UIImage imageWithCGImage:screenshotImage.CGImage];
NSData* imdata =  UIImagePNGRepresentation ( img );
UIImage* image = [UIImage imageWithData:imdata]; // wrap UIImage around PNG representation

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
4

1 に答える 1

0

画質設定を確認するだけでなく、さまざまな種類の画像を保存するのに最適な画像形式を認識する必要があります。

カメラで撮影したような実世界の画像には JPG を好みます。JPEG は、良好な圧縮を達成しながら、高画質を維持するというより良い仕事をします。

画像の多くの部分が同じ色のスクリーンショットを撮る場合 (この Web ページやプログラミング エディターのように)、PNG を使用することをお勧めします。PNG は、多くの場合 JPEG に見られるダーティ アーティファクトを作成せずに画像を保存しますが、これらの種類の画像でも良好な圧縮率を実現します。

上記の理由は、それぞれが使用する圧縮アルゴリズムに関係しています (JPEG は FFT、PNG は DEFLATE)。画像の種類と品質設定を変更してみて、違いが生じるかどうかを確認してください。

于 2012-09-11T04:23:32.130 に答える