2012-05-14 16 views
0

私は2つのビットマップ画像を持っています。このIMのためには、描画イメージに1つのビットマップイメージを変換しようとしていますが、それは(.....私はこれがあるしようとしているものを最初の1つを介しビットマップ画像を描画可能な画像に変換して、別のビットマップ画像を表示することができます。

public class ShowCanvas extends View { 

Bitmap CanvasBitmap; 
Bitmap ScaledBitmap; 
Bitmap smallbitmap; 
private static final int INVALID_POINTER_ID = -1; 

private Drawable mImage; 
private float mPosX; 
private float mPosY; 

private float mLastTouchX; 
private float mLastTouchY; 
private int mActivePointerId = INVALID_POINTER_ID; 

private ScaleGestureDetector mScaleDetector; 
private float mScaleFactor = 1.f; 



public ShowCanvas(Context context) { 
    super(context); 
    // TODO Auto-generated constructor stub 

    ScaledBitmap = DrawView.scaled; 



**when i get the image from drawable it shows over the first one...** 

mImage = getResources()。getDrawableを示しdsnt R.drawable.dress01);

が、私はこのことをdsntを使用している画像...

mImage =新しいBitmapDrawable(getResources()、Dress.bitmap)を示しています。

System.out.println("Drawable" + mImage); 



    int X = mImage.getMinimumWidth(); 

    int Y = mImage.getIntrinsicHeight(); 

    System.out.println(" Rough" + X + "\t" + Y); 


    mImage.setBounds(0, 0, mImage.getIntrinsicWidth(), 
      mImage.getIntrinsicHeight()); 

} 

public void setBitmap(Bitmap bitmap) { 
    // TODO Auto-generated method stub 
    CanvasBitmap = bitmap; 

    System.out.println("CanvasBitmap" + CanvasBitmap); 

    int X = CanvasBitmap.getHeight(); 
    int Y = CanvasBitmap.getWidth(); 

    System.out.println("CanvasBitmap " + X + "\t" + Y); 

} 



@Override 
protected void onDraw(Canvas canvas) { 
    // TODO Auto-generated method stub 
    Paint mpaint = new Paint(); 
    canvas.save(); 

    canvas.drawBitmap(ScaledBitmap, 0, 0, mpaint); 

    mImage.draw(canvas); 

    Log.i("Debug", "mImage.draw(canvas)"); 

    canvas.restore(); 

} 

}

答えて

3
Drawable d =new BitmapDrawable(bitmap); 

描画可能ビットマップ画像を変換するためにこれを使用します。

関連する問題