0

これが取引です。以下に示す両方の方法を使用して、画像をフォトライブラリに保存してみました。画像を正常に保存し、写真アプリを起動して画像を確認すると、アプリは自動的に画像を全画面に拡大縮小/サイズ変更します。

これを防ぐ方法はありますか?画像全体を見るには、ユーザーが画像をつまんで全体を表示する必要があるため、煩わしいです。フォトライブラリに保存するときに、人気のあるカメラアプリのいくつかにこの問題がないことに気づきました。彼らがどのような方法を使っているのか興味があります。

//Save to Photo Library;
ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
//CIImage *ciImage = image.CIImage;
[library writeImageToSavedPhotosAlbum:finalImage.CGImage
                          orientation:ALAssetOrientationUp
                      completionBlock:^(NSURL *assetURL, NSError *error) {
                          NSlog(@"Done");
                      }];

Save to Photo Library;
UIImageWriteToSavedPhotosAlbum(savedPhoto,nil,nil,nil);

ご協力ありがとうございました!

4

4 に答える 4

1

少し調べた後、この問題の解決策はありません。写真アプリは、画面全体に画像を自動的に拡大します。

すべての回答に感謝します。

于 2012-10-21T03:08:36.970 に答える
0

保存する前に、背景がクリアなフルスクリーン画像に画像を重ねてみませんか?

于 2012-07-20T03:29:26.370 に答える
0

AppleのFrogScrollerサンプルアプリケーションを見ると、最初に低解像度の画像が読み込まれ、次にズームするときに、setMaxMinZoomScalesForCurrentBounds関数で設定されたサイズのCATiledLayerが使用されていることがわかります。

詳細については、2011年だけでなくscrollViewsのWWDC2010のビデオもご覧ください。JoshとElizaは、何が起きているのかを説明する素晴らしい仕事をしています。

于 2012-07-16T19:42:56.750 に答える
0

画像の保存は問題ないはずです。

画像を使用する場合は、UIViewプロパティUIViewContentModeを設定できると思います。

typedef enum {
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,      // contents scaled to fit with fixed aspect. remainder is transparent
UIViewContentModeScaleAspectFill,     // contents scaled to fill with fixed aspect. some portion of content may be clipped.
UIViewContentModeRedraw,              // redraw on bounds change (calls -setNeedsDisplay)
UIViewContentModeCenter,              // contents remain same size. positioned adjusted.
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,

} UIViewContentMode;

それが役に立てば幸い。

于 2012-07-16T02:57:51.353 に答える