2012-02-13 3 views
4

私は適切な希望の高さ(25dp)にリサイズしたドロアブルを持っており、その幅は比例してスケーリングされています。しかし、25dpの幅で、正方形の画像が必要です。しかし、私はイメージを歪ませたくないので、drawableの左右の等しい部分を切り取って、私にセンター25dpx25dpを与えたいと考えています。これは可能ですか?どうやって?私はかつて私のレイアウトにこれを追加する方法..キャンバスに描くに作図をスクエアにする

答えて

3
 

Bitmap target= Bitmap.createBitmap(width, height,Config.ARGB_8888); 
Canvas canvas = new Canvas(target) 
float hScale = width/(float)source.getWidth(); 
float vScale = height/(float)source.getHeight(); 
float scale = Math.min(hScale, vScale); 
Matrix matrix = new Matrix(); 
matrix.setScale(scale, scale); 
matrix.postTranslate(width/2 - source.getWidth()/2 * scale, height/2 - source.getHeight()/2 * scale); 
canvas.drawColor(Color.BLACK); 
canvas.drawBitmap(source, matrix, new Paint()); 
 
+0

は、私は非常に非常に新たなんだ...私は過去2時間しようとしていると私はタオルで投げることを約準備ができていますその描かれた? – user1118042

+0

ImageViewを使用している場合はimageView.setImageBitmap(target); http://developer.android.com/reference/android/widget/ImageView.html#setImageBitmap(android.graphics.Bitmap) –

+0

これをテキストビューに追加できますか何とか複合ドロアブルとして?あなたがすでに私に与えてくれた助けをありがとう! – user1118042

関連する問題