0

326ppi の解像度で 64px x 64px の redSquare.png ファイルがあります。次のように、View Controllerのウィンドウの左上隅に描画しています。

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

myImageView = [[UIImageView alloc] initWithImage:myImage];

[self.view addSubview:myImageView];

iPhone 4S の画面解像度が 960x640 (326ppi) であることを考えると、最初の正方形の隣にさらに 9 つの正方形が収まる十分なスペースがあるはずです。ただし、あと4台しか空きがありません。つまり、正方形は、私の測定値よりも大きく描かれています。

// even tried resizing UIImageView in case it was 
// resizing my image to a different size, by adding
// this next line, but no success there either :
myImageView.frame = CGRectMake(0, 0, 64, 64); 

デバイスがピクセルを「変換」する方法に関係していると思います。Apple のドキュメントでポイントとピクセルの違いについて読みましたが、この問題を回避する方法については言及されていません。私はピクセルで測定していることを知っています。ポイントで測定する必要がありますか?どうすればそれができますか?隣に同じサイズの正方形をさらに 9 つ保持できるように (つまり、同じ水平方向に)、画像のサイズを正確に変更するにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

1

Retina ディスプレイでフル解像度で画像を表示するに@2xは、名前の末尾に追加する必要があります。実際には、これは、現在使用している画像を として保存し、redSquare@2x.pngその画像の 32x32 ピクセルのバージョンを として保存する必要があることを意味しますredSquare.png

これが完了したら、コードを変更する必要はありません。デバイスの機能に応じて、適切な画像が表示されます。これにより、Retina デバイスと非 Retina デバイスの両方でアプリを正しくレンダリングできます。

于 2012-08-18T16:14:25.203 に答える