0

iPhone5 でアプリをテストしています。

image1.png および image1@2x.png という名前の画像を複製し、コードの一部で iPhone5 で試しました。

UIImage *myImage = [UIImage imageNamed:@"image1.png"] ;

CGFloat imageWidth = myImage.size.width;
CGFloat imageHeight = myImage.size.height;

  NSLog(@"image %f %f", imageWidth,imageHeight);

CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGFloat screenWidth = screenSize.width;
CGFloat screenHeight = screenSize.height;


NSLog(@"screen %f %f", screenWidth, screenHeight);

iPhoneで実行すると、コンソールに次のように表示されます。

2013-04-05 13:13:48.386 Vallabici[2413:907] image 320.000000 57.000000
2013-04-05 13:13:48.389 Vallabici[2413:907] screen 320.000000 568.000000

網膜の代わりに通常の画面を使用していたためです。

それはどのようにできますか?

4

3 に答える 3

1

画面は常にピクセル単位で測定されます

網膜ピクセルは常に=非網膜ピクセルです

コードにより、常に 230x480 の画面ピクセルが得られます (iPhone < 5 の場合)

違いは、画像のレンダリング方法です。Retina ディスプレイでは、2 倍の解像度でレンダリングされます。

プリンター デバイスのようなものです。小さな画像を A​​4 用紙いっぱいに印刷してから、大きな画像を印刷できます。

紙に印刷された画像は常に同じ測定値 (インチまたはセンチメートル) ですが、結果の品質は変わります。

于 2013-04-05T11:25:05.903 に答える