現在、最初のAndroidアプリを開発しており、画像をレンダリングする際に問題が発生しています。画像そのものは素晴らしい品質ですが、レンダリングすると画質が大幅に低下します。エッジはギザギザになり、ちょうど良くないように見えます。私がこれまでに示したことは、すぐにそれに気づくことなく、気づいたことがあります。 [右に左に、最後に開始:]私はすべてをしようとしているAndroidでレンダリングされた画像のギザギザのエッジ
http://i.stack.imgur.com/gld5A.png
私が知っおよびすべての私は、オンラインの周りに検索することにより見つけることができました先端が、何もそれを修正するようです。
現在、私は、ビットマップとして画像を取得し、それをスケーリング:私はイメージを持っている
Bitmap holeImage = BitmapFactory.decodeResource(res, R.drawable.hole_image);
Bitmap holeImageBMP = Bitmap.createScaledBitmap(holeImage, width, height, true);
たら、私は、ペイントを作成trueにいくつかの平滑化属性を設定し、キャンバス上に描画します:
Paint smoothingPaint = new Paint();
smoothingPaint.setAntiAlias(true);
smoothingPaint.setFilterBitmap(true);
smoothingPaint.setDither(true);
canvas.drawBitmap(holeImageBMP, 0, 0, smoothingPaint);
ただし、明らかに上記のように、画質が大幅に低下します。私はきれいにレンダリングされているイメージがたくさん見られました。正直なところ、何が起こっているのか分からないので、どんなアドバイスも素晴らしいと思います!
その他の注意:私はDrawViewを処理するためにSurfaceViewメソッドを使用しています。これは、SDKにあるLunarLanderの例と似ています。
もう一度おねがいします!
私はそれを試してみましたが、それが本当の違いを行っていない:
は、Androidデバイスでより良い動作するために、この問題(バンディングやディザリング)に、この偉大な記事を読んで、あなたが作成した画像を適応を検討してみてください。私は別のstackoverflow.comスレッドの誰かがそれを示唆したためにそこにある唯一の理由を認めます:P私は思考に感謝!本当にどんなアイデアが役に立ちます。 –
OK、私はこのケースではPedroの答えがもっと役に立つと思います。私はまだAndroidで何もしていないので、ディザリングやバンディングの問題があるのか分かりませんでしたし、一般的なグラフィックスに関する答えを出しました。 – schnaader
十分に公正です。もう一度ありがとう! :D –