首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >drawBitmap()绘制假部分

drawBitmap()绘制假部分
EN

Stack Overflow用户
提问于 2013-03-01 01:12:36
回答 1查看 65关注 0票数 1

我正在尝试在ImageView中显示图像的一部分。我用canvas.drawBitmap()试过了,但似乎显示了图像的错误部分。我的代码:

MainActivity:

代码语言:javascript
复制
    this.drawCharacter = new DrawCharacter(1);
    this.bm = Bitmap.createBitmap(16, 32, Bitmap.Config.ARGB_8888);
    this.c = new Canvas(this.bm);
    this.c = this.drawCharacter.drawCharacter(this.c, this.characterBitmap);
    this.bm = Bitmap.createScaledBitmap(this.bm, this.imgWidth, this.imgHeight, isChild());

    this.imgv.setImageBitmap(this.bm);

DrawCharacter:

代码语言:javascript
复制
[...]
  Paint localPaint = new Paint();
  paramCanvas.drawBitmap(paramBitmap, new Rect(8, 8, 16, 16), new Rect(4, 0, 12, 8), localPaint);
  return paramCanvas;
[...]

最后,显示了图像中一些奇怪的部分。

EN

回答 1

Stack Overflow用户

发布于 2013-03-01 01:26:37

drawBitmap()调用中,将第一个Rect参数设置为8,8,16,16,这是要绘制的位图中的源矩形,将其设置为null以绘制整个位图。

see the documentation

如果要根据初始位图比例应用此边界,则可能需要在src矩形上应用相同的比例。(尝试删除缩放部分,createScaledBitmap()以查看您的源矩形在没有缩放的情况下是否良好;)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15141578

复制
相关文章

相似问题

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