0

画像のカレンダーを作成する必要があります (サイズは 640 x 960 または 960 x 640 です)。ここで私が試みた1つのアプローチは、ビューを作成し、それに画像ビューを追加し、画像を提示し、サブビューで「描画」してから、ビューをファイルに保存することでした。

これは計画どおりに機能しますが、シミュレーターでテストすると、保存された画像の解像度は 306 x 462 (保存しているビューのサイズ) です。今、私は元の解像度の半分を失いました...

これを回避する方法はありますか?

ビューを保存したコード:

UIGraphicsBeginImageContext(self.backgroundImageView.bounds.size);
[self.backgroundImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

NSString *fullPath = [NSString stringWithFormat:@"%@/Calendar.png",basePath];
NSData * binaryImageData = UIImagePNGRepresentation(image);

[binaryImageData writeToFile:fullPath atomically:YES];
4

2 に答える 2

-2

誰かが同様の問題を抱えている場合、私は2つの解決策を考え出しました:

1) 保存する前にすべてを拡大します (AutoresizingMasks をいじる必要があります)。

2) すべてを scrollView に入れて大きなサイズで表示し、ユーザーがすべてを見たい場合にスクロールできるようにします。

于 2013-08-12T09:01:23.460 に答える