java - 如何将位图图像转换为可绘制图像,以便将其显示在另一个位图图像上

标签 java android

我有一个扩展 View 的类...其中我有两个位图图像可以相互显示...为此我正在尝试将一个位图图像转换为可绘制图像,但它不可用显示第一个我正在尝试的内容......

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(R.drawable.dress01);

但是当我使用它时它不会显示图像...

mImage = new 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();

}

}

最佳答案

Drawable d =new BitmapDrawable(bitmap); 

用它来将位图图像转换为可绘制图像。

关于java - 如何将位图图像转换为可绘制图像,以便将其显示在另一个位图图像上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10577548/

相关文章:

java - 如何用eclipse Java项目运行tomcat

java - 通过删除清除所有项目后列表返回一项

java - 使用java代码读取excel表格

java - 无法在数组交集中从列表转换为数组

java - 谷歌地图中心 map 由两个位置绑定(bind)并带有一些填充

java - 如何创建一个接受字符串并返回字符串中第二个字符的函数?

java - 使用 Apache POI 计算公式 CELL 时出现异常

java - 填充的 RecyclerView 是空的

android - 在不同 Activity 中的 Fragment 之间共享 ViewModel

android - 如何在 Listactivity 的 onListItemClick 中获取复选框的状态?