2017-02-20 5 views
-1

私のUIButtonイメージがピクセル化されないようにすることはできません。元の画像は432X417で、私のボタンのサイズは18X17です。インターフェイスビルダーのボタンを設定し、コンテンツモードをaspect fitに設定しています。UIButton image pixelated

+0

[iOSのベクターグラフィックス](http://www.programmingcrew.in/2016/09/vector-graphics-in-ios.html) – pkc456

+0

あなたは432X417(** !!! **)ピクセル画像を小さな18X17ボタンの内側に表示します。 –

+0

@ pkc456私は必要なサイズに縮小したpdfを使用しています。それを一度にイメージアセットに追加し、それもまだピクセル化しています。 – Brosef

答えて

1

18x17ポイントボタンに432x417ピクセルイメージをインストールしないでください。

イメージエディタ(Photoshopなど)でイメージをターゲットサイズで作成し、アセットカタログにインストールする必要があります。ほとんどのデバイスでは、18x17ポイントの画像は2x網膜では36x34ピクセル、6+および7+デバイスでは3倍の縮尺で54x51ピクセルである必要があります。

画像がベクターPDFの場合、18x17ポイントはかなり小さく、詳細を表示するのは難しいですが、スケールがよくなければなりません。

+0

情報Duncanをありがとう。だから私は1つの大きな画像を持って500X500ピクセルと言うことができます。私は必要なサイズに縮小してxcodeプロジェクトに追加する必要がありますか?私は 'aspectFit'のポイントは、画像ビューのサイズに合わせて画像を縮小することだと思っていました。 – Brosef

+0

しかし、(a)それは非常に良い仕事をしないかもしれませんし、(b)それはそれに大きなイメージを与えるために多くのメモリを必要とします。大きな画像を1ピクセルにつき4バイトに拡張し、次にスケーリングされた画像に対して別の4バイト/ピクセルのバッファを作成しなければならず、(c)大きな画像を小さなサイズにレンダリングし続ける必要があるため遅くなります。 –

+0

元の画像がベクトル画像の場合は、ベクトル画像の大きめのビットマップを取り込んで縮小するよりも、目標サイズに直接描画するほうが良い結果が得られます。 –