現在、簡単な画像ビューワを作成しているのですが、きれいに縮小された画像表示ができないか悩んでいます。
現在の処理は単純で、ZIPから取り出した画像(PNG, JPGなど)を
画面サイズに合わせたサイズに縮小してCanvas.drawBitmapで表示しています。
ただ、画像は表示されるのですが、細い線がスムーズにならず、ギザギザな感じになります。
drawBitmapの引数Paintで描画方法を変更できるのかもしれませんが、
ANTI_ALIAS_FLAGやDITHER_FLAGを指定しても良くなった感じはしません。
きれいな画像縮小の方法をご存知の方がいらっしゃれば、助言を頂きたいです。よろしくお願いいたします。
(自分で平均画素法などの処理を実装する必要あり??)
■ソースコードの概略
-----------
Bitmap bitmap = BitmapFactory.decodeStream(mZip.getInputStream(mZip.getEntry(mZipEntryNames)));
-----------
public void onDraw(Canvas canvas) {
Rect srcRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
Rect dstRect = new Rect(0, 0, (int) (bitmap.getWidth() * ratio), (int) (bitmap.getHeight() * ratio));
canvas.drawBitmap(bitmap, srcRect, dstRect, null);
}
-----------
--
安藤 寛