0

ここ 2 ~ 3 日間、奇妙な問題に直面しています。私がやりたいことは簡単に見えますが、私のソリューションは私が望む方法で応答しません。私が確かに欲しいものについてあなたに知らせさせてください。

写真(.png)があります。私はそれを 5 つの部分に分割し、.png として保存しました。私の期待は、これらの 5 つの画像を画像として表示するビュー オブジェクトを持つことです。そこで、canvas.drawBitmap() メソッドを使用して onDraw() メソッドで 5 つの写真を描画することにしました。それは正常に動作します。ただし、サイズを変更したい場合は、 createScaledBitmap(bitmap, width, height, boolean) を使用しました。この方法を 5 つの異なるビットマップ オブジェクトごとに適用し、onDraw() メソッドでサイズ変更して描画しました。残念ながら、私は全体像を手に入れましたが、すべての写真の間に垂直に線がありました. メソッド createScaledBitmap(bitmap, width, height, boolean) でブール値を true に変更したところ、画像の品質が悪くてもうまく機能していました。

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    for (int i = 0; i < 5; i++) {
        Bitmap image = BitmapFactory.decodeResource(getResources(),
                getResources().getIdentifier(
                        "f" + i, "drawable", getContext().getPackageName()));
        image = Bitmap.createScaledBitmap(image, getWidth(), getHeight(), true);
        canvas.drawBitmap(image, new Matrix(), null);
    }
}

http://imageshack.us/photo/my-images/717/96553428.png

http://imageshack.us/photo/my-images/809/33612864.png

http://imageshack.us/photo/my-images/255/53597408.png

注 : 描画速度は重要です。これは、描画に 500 ミリ秒未満かかることを意味します。

4

0 に答える 0