2011-12-25 3 views
1

iPadの画面の横に(横向きモードで)幅が1024ピクセル、高さが120ピクセルの.png画像があります。 enter image description hereiPadがゆがんだUIImageViewをデバイスにのみ

私は意図的に画像の解像度と同じサイズで、サイズ変更は行わず、画像のピクセルと画面のピクセルの比率は1:1です。 100%ズームのiPadシミュレータでは、pngはまったく同じように表示されます。 iPad 1でテストすると、iOSが画像を再サンプリングしようとしているように、画像が歪んで表示されます。以下はデバイスenter image description hereから取得したスクリーンショットです。

UIImageViewの境界を出力すると、予想される幅と高さが得られます。なぜこれが起こっているのか、なぜ歪みがシミュレータ上に現れないのかについてのアイデアはありますか?

EDIT:コードは、ImageViewのを挿入するために使用:

tile = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tile.png"]]; 
[tile setFrame:CGRectMake(0, 648, tile.bounds.size.width, tile.bounds.size.height)]; 
[self.view addSubview:tile]; 

私はIBとプログラムさの両方を使用して同じ結果を得ました。

EDIT:po [[(id)UIApp keyWindow] recursiveDescription]

<UIWindow: 0x13f200; frame = (0 0; 768 1024); layer = <UIWindowLayer: 0x127df0>> 
| <UIView: 0x14fd40; frame = (0 0; 768 1024); transform = [0, -1, 1, 0, 0, 0]; autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0x14ffe0>> 
| | <UIImageView: 0x14f900; frame = (0 648; 1024 120); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x14f940>> 
| | <UIImageView: 0x14e210; frame = (125 666; 774 102); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x14daa0>> 
+0

ひずみをはっきりと見るには、[png](http://i.stack.imgur.com/s1Ibd.png)、[iPadスクリーンキャプチャ](http ://i.stack.imgur.com/fl6Ti.png) –

+0

画像を配置するコードを表示できます – shannoga

+0

gdbにアプリケーションを一時停止し、このコマンドの出力に貼り付けます: 'po [[(id)UIApp keyWindow] recursiveDescription] 'を実行します。 –

答えて

0

まだ歪みの原因はわかりませんが、1024x120から1023x120までの画像サイズをトリミングすると、歪みはなく、右側にわずか1pxの隙間しかありません。

+0

これを正しい答えとする前にもう一日お待ちしています。誰かがここで何が起こっているのか正確に分かっている場合です。 –

2

の出力は、私の知る限りUIImageViewだけ画像を描画し、CoreGraphicsにおける全ての描画方法のような座標は、画素インデックスではなく、点はその周りに各ドットが描画されます。水平線を描画すると、その半分が上のピクセルに追加され、その半分が下のピクセルに追加されます。

この例では、このような細かい機能を持つパターンを使用しようとしているため、アンチエイリアスが説明する効果があります。

オリジナルをそのまま表示したい場合は、自分で描画してアンチエイリアスを無効にする必要があります。または、contentプロパティがイメージに設定されたCALayerをサブレイヤとして追加することもできます。

+0

私はこれが当てはまると思ったが、私はこの効果を示さない同様の「詳細な」画像を使用した。それをテストするために、私は上記のイメージのチャンク(約1/3)を取り、それを表示し、うまくいきます。私は、多少の画像圧縮が特定のサイズ以上の画像の裏で行われているかもしれないと考えていましたか? –

関連する問題