Canvas绘制比原始图片小的Bitmap

时间:2012-11-06 20:09:06

标签: android bitmap draw android-canvas

我实际上是在玩游戏并需要一些备份,因为Canvas。

我用画布绘制背景。所以我完全按照我们工作的屏幕的分辨率制作了图片。在设备上,图片很小,不适合屏幕。我是否错过了抽奖让它变小的东西?

这是一些代码

public class Map extends View{
int[][] mapArray = new int[32][18];
private Bitmap picture;
private Paint paint;

public Map(Context context){
    //basic init map
    super(context);

    this.setPicture(BitmapFactory.decodeResource(context.getResources(), R.drawable.newmap2));
}


public Bitmap getPicture() {
    return picture;
}

public void setPicture(Bitmap background) {
    this.picture = background;
}

@Override
protected void onDraw(Canvas canvas) {
    canvas.drawBitmap(picture, 0, 0, paint);
}

希望你能帮助我 最好的祝福 本

3 个答案:

答案 0 :(得分:1)

也许您将位图放在高dpi目录中(例如res / drawable-xhdpi)并且您的设备的dpi较低?在这种情况下,图像在打开时按比例缩小。 你正在做的事情是不安全的,其他设备将有其他屏幕尺寸。

答案 1 :(得分:0)

您的设备可能具有明显不同的DPI(像素密度),可能更高,这会使图像看起来比应有的小得多。如果你有一张图片来准确显示它们的不同之处,那么调试问题可能会更容易。

答案 2 :(得分:0)

这段代码解释了如何使用显示的尺寸 确定加载图像时应发生的下采样量。 希望能帮助你

Display currentDisplay = getWindowManager().getDefaultDisplay();
int dw = currentDisplay.getWidth();
int dh = currentDisplay.getHeight();