gpt4 book ai didi

java - drawBitmap() 绘制虚假部分

转载 作者:行者123 更新时间:2023-11-29 21:48:16 26 4
gpt4 key购买 nike

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

主要 Activity :

    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);

绘制字符:

[...]
Paint localPaint = new Paint();
paramCanvas.drawBitmap(paramBitmap, new Rect(8, 8, 16, 16), new Rect(4, 0, 12, 8), localPaint);
return paramCanvas;
[...]

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

最佳答案

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

see the documentation

如果你想根据初始位图比例应用这个边界,你可能需要在你的 src 矩形上应用相同的比例。(尝试删除比例部分,createScaledBitmap() 以查看没有比例的 src 矩形是否良好;))

关于java - drawBitmap() 绘制虚假部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15141578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com