2012-01-18 10 views
0

を使用して画像を変換し、私は上記のコード化されたものを、しかしアンドロイド:マトリックス

@Override 
public void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.save(); 
    canvas.setMatrix(imageMatrix); 
    canvas.drawBitmap(((BitmapDrawable)mIcon).getBitmap(), imageMatrix, null); 
    canvas.restore(); 
} 

、ImageViewの例を拡張し、私が作成したカスタムクラスのonDrawメソッドにマトリックスを使用して画像を変換するん探しています本当にうまくいきません。キャンバスにimageMatrixをどのくらい正確に適用しますか?ありがとう!

答えて

2

Drawable.draw(Canvas)メソッドの呼び出してみありだって、ちょうど最後のようにスーパーコールを入れて、良いです:

@Override 
public void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.save(); 
    canvas.setMatrix(imageMatrix); 
    ((BitmapDrawable)mIcon).draw(canvas); 
    canvas.restore(); 
} 
-1

あなたがしたすべては、すべてのペイントが行われているところ...

@Override 
public void onDraw(Canvas canvas) { 
    canvas.setMatrix(imageMatrix); 
    super.onDraw(canvas); 
} 
+0

をこれは前に行われたすべての図面を却下することがあります。 –