0

私のアプリケーションでは、ユーザーが画像をアップロードしようとしているときに、画面解像度に基づいて画像サイズが必要です。

たとえば、画像サイズが 9690 X 4400 の場合、実際のサイズではなく画面解像度に応じたサイズを返す必要があります。

Mac アプリケーション (OSX) の場合、このステートメントで実行でき、サイズ 561 X 264 が返されます。

NSImage *imageUpload = [[NSImage alloc] initWithContentsOfFile:fileName];

Macと同じように、iOSアプリでどうすればいいですか?助けてください。

これを取得する方法はありますか?私はグーグルで検索しましたが、結果が見つかりませんでした。

ありがとう

4

1 に答える 1

1

次のようなことを試してください:

まず、ビューのアスペクト比を計算する必要があります。

double viewAspectRatio = myView.bounds.size.width / myView.bounds.size.height;

次に、画像の縦横比を計算する必要があります。

double imageAspectRatio = myImage.size.width / myImage.size.height;

だから最後に

CGSize scaledSize;
if (imageAspectRatio > viewAspectRatio) {
    scaledSize = CGSizeMake(myView.bounds.size.width, myView.bounds.size.width / imageAspectRatio);
} else {
    scaledSize = CGSizeMake(myView.bounds.size.height * imageAspectRatio, myView.bounds.size.height);
}
于 2013-08-24T13:14:45.223 に答える