0

スクリーンショットを撮って画像をカメラロールに保存し、この画像をロック画面に設定しました。
しかし、iPhone 4 の画像サイズは 640*940 です。歪みなく 640*960 にするにはどうすればよいですか? ステータスバーに高さがあると思います。

CGSize size = self.view.bounds.size;

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

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

1 に答える 1

0

画像サイズを設定する方法は 2 つあります...

スクリーンショット用に独自のフレームを設定できます。

CGRect rect = CGRectMake(0, 0, 640, 960);
UIView *view = [[UIView alloc]initWithFrame:rect];
    UIGraphicsBeginImageContext(view.frame.size);

これでご希望のサイズになります。画面サイズが 320 x 480 の場合、640 x 960 の画像が返されますが、実際のスクリーンショットの範囲外の空白になることに注意してください。

別のアプローチは、画像ビューなどのオブジェクトから必要な領域を見つけることです。

UIImageView *imageview;
UIGraphicsBeginImageContext(imageview.frame.size);

繰り返しますが、これは必要なものを返しますが、実際の画面サイズ外のものはすべて空白で埋められます。

于 2013-01-20T04:50:49.800 に答える