2012-03-07 16 views
2
Bitmap icon = BitmapFactory.decodeResource(this.getResources(),R.raw.book11); 
Canvas c = new Canvas(icon); 

このコード行を使用してキャンバスを作成すると、実際にキャンバス(150x177)のサイズがビットマップ(100x118)から大きくなります。キャンバスのサイズをあらかじめ定義しておくと、ビットマップが切り取られます。助けてください。ありがとう。 キャンバスサイズビットマップサイズを増やす

+0

こんにちはcrack_addict、それは実際のコードですか? Android 2.3.7でそのコードを実行すると、「java.lang.IllegalStateException:不変のビットマップがCanvasコンストラクタに渡されました」というメッセージが表示されます。私はあなたが実行する実際のコードは少し異なって見える?私はあなたを助けてくれることを望んでいますが、正確な答えを出すためには、問題の正確な説明が必要です。より完全なコード例を投稿することができますか? –

答えて

1

私はこの式で地雷を解く:その特定の資産がために不足している場合は、「大規模/高」画面解像度/密度のためにそれを使用するとき

event.getX()*3/2; 
event.getY()*3/2; 
0

システムが自動的に画像アセットをアップスケールしますその特定の構成(つまり、hdpiデバイス上のイメージを参照していますが、イメージはdrawable-hdpiには存在しませんが、raw drawableディレクトリにのみあります)。

スケーリング係数は、デバイスの画面密度によって異なります。あなたの場合は1.5と思われます。

編集:まだ完了していない場合は、linkをご確認ください。