java - 如何偏移 Canvas 上绘制的位图?

标签 java android

这是我在 Canvas 上绘制 BitmapMesh 和圆圈的代码。

canvas.drawBitmapMesh(GirlBitmap, WIDTH, HEIGHT, matrixVertsMoved, 0,  null, 0, null); // need to offset this by "addOffset"

canvas.drawCircle(pointX+addOffset, pointY, bubbleSize, p3);

两者都必须偏移 x addOffset。圆形效果很好,但我不知道如何使位图偏移?

有什么想法吗?也许我应该将其绘制在单独的 Canvas 上,然后将其绘制在旧 Canvas 上,并带有偏移?

谢谢!

最佳答案

你不能通过(addOffset, 0)翻译Canvas吗?像这样:

final int saveCount = canvas.save();
try {
    canvas.translate(addOffset, 0);

    canvas.drawBitmapMesh(GirlBitmap, WIDTH, HEIGHT, matrixVertsMoved, 0,  null, 0, null); 
    canvas.drawCircle(pointX, pointY, bubbleSize, p3);
} finally {
    canvas.restoreToCount(saveCount);
}

关于java - 如何偏移 Canvas 上绘制的位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303578/

相关文章:

android - 从 fragment 设置 WebView 的页面标题

android - 三星 android 时钟应用程序 - 源代码?

android - greenDao 架构升级

java - 类必须在内部创建新对象,无法从单元测试中访问该对象

java - AndEngine加载图形: Where Do I put my assets folder and my resources?

java - java中使用递归将链表表示的两个数字相加

android - 防止 Android Studio/Intellij Idea 在启动时构建项目

java - 如何在 Android 中播放音频文件?

java - 接口(interface)和数据库

java - 在 Android 中更改 Switch 的颜色