この種のコードを使用して、プログラムで作成されたUIImageイメージがあります。
UIGraphicsBeginImageContextWithOptions(CGSizeMake(128, 128), NO, 0.0f);
// Render in context
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
私のコンテキストオプションはスケール0を指定しているので、網膜デバイスでは2に設定され、結果のUIImageスケールプロパティでそれを確認できます。
ここで問題となるのは、この画像サイズが128x128、スケール2であるということです。サイズ64x64、contentMode = CenterのUIImageViewに配置すると、画像がimageviewの外にレンダリングされ、おそらくスケーリングなしで128x128ボックスにレンダリングされます。
網膜グラフィックスについての私の理解は、画像のスケール係数が2.0の場合、1/2サイズでレンダリングする必要があるため、DPIが高くなるというものでした。そのため、画像ビューで64x64の画像が網膜品質でレンダリングされることを期待していました。私はどこが間違っていますか?