ここ 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 ミリ秒未満かかることを意味します。