首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >drawBitmap不是全屏

drawBitmap不是全屏
EN

Stack Overflow用户
提问于 2011-10-20 15:06:38
回答 2查看 8K关注 0票数 3

我使用onDraw方法显示图像,如下所示:

代码语言:javascript
复制
public void onDraw(Canvas canvas) {
     super.onDraw(canvas);
     Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.photo0);
     canvas.drawColor(Color.BLACK);
     canvas.drawBitmap(background, 0, 0, null);

我想将此图像设置为背景,但它只显示在屏幕的一部分上。如何将其设置为全屏?

有没有一种方法来设置图像作为背景从xml和绘制其他图像上的onDraw方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-20 15:10:15

试试这个:

代码语言:javascript
复制
...
Rect dest = new Rect(0, 0, getWidth(), getHeight());
Paint paint = new Paint();
paint.setFilterBitmap(true);
canvas.drawBitmap(background, null, dest, paint);

这会将位图的一部分("null“表示整个位图)呈现到由dest指定的屏幕区域(在本例中是视图的整个区域)。

请注意,这将/可能会更改纵横比,这取决于背景,您可能需要修复它。

票数 16
EN

Stack Overflow用户

发布于 2019-07-23 15:05:38

这对我很有效。

代码语言:javascript
复制
      WindowManager wm = (WindowManager) mContext
            .getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width=size.x;
    int height= size.y;

    Rect dest = new Rect(0, 0, width, height);
    Paint paint = new Paint();
    paint.setFilterBitmap(true);
    canvas.drawBitmap(bm, null, dest, paint); //bm is your bitmap
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7832305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档