清除后绘制图像时画布出现“形状伪影”

2023-11-30

我的网络应用程序中有一个非常令人费解的画布工件/错误。 清除画布后,在画布上绘制另一个图像时,先前清除的圆形会重新出现,但只会出现一次。图像已经初始化一次,如下所示:

this.image = new Image();
this.image.src = imageroot + image + '.png';

在调试器中,我在每个图像绘制上中断,发现该形状伪影仅在我第一次绘制该图像时出现。

Just after first image drawJust after second draw of the same image

context.drawImage(this.image, x - width / 2, z - height / 2, width, height);

但它不可能在图像中,并且同一图像的后续绘制只是表明该圆圈确实不在我绘制到画布上的图像中。但我确信它会在调用此函数期间出现。所以它以某种方式从某个地方突然出现。

我想我在某个地方做错了什么,因为这是一种非常奇怪的行为,但我无法找到它,也无法发布数百行代码,所以我想知道什么样的误用/错误行为可能会导致这样的工件出现在这样一个意想不到的上下文中(调用drawImage),这样我至少有一个线索可以追踪这个错误。


记得使用beginPath()清除所有以前的路径。

当您清除画布时,只需调用此方法,并且下次描边或填充时不会重新渲染以前的路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

清除后绘制图像时画布出现“形状伪影” 的相关文章

随机推荐

  • 如何围绕 3D 轴 (Y) 旋转 2D UIElement?

    我有一个Grid对于一些内容 图像 文本 我想在 3D 空间中围绕 y 轴旋转它 某种动画倾斜效果 有没有像Rotate3DTransform这样的简单方法直接适用于Grid 使用 Viewport3D 如果您愿意使用 3D 模型和旋转 那
  • 从 EF 6.0 Beta 升级到 RC 后出现 System.MissingMethodException

    这是什么意思 用户代码未处理 System MissingMethodExceptionHResult 2146233069 消息 未找到方法 System Data Entity ModelConfiguration Configurat
  • 如何避免Fragment重玩?

    我有2个Fragments F1 and F2 我打开第一个Fragment F1来自Activity使用以下代码 MyFragment f1 new MyFragment Bundle bundle new Bundle bundle p
  • C/C++ 结构打包不起作用

    我正在尝试在 64 bit 32 位 Windows 上使用 g 来打包一个结构 struct Foo uint8 t a uint32 t b attribute packed int main int argc char argv qD
  • Prolog 多米诺骨牌游戏

    我正在序言中制作一个游戏 使用一组给定的多米诺骨牌碎片 它应该使用初始集合中的所有碎片制作正确的多米诺骨牌行 我们必须使用一个推理系统 在其中我们必须构建初始状态和最终状态 如下所示 initial dominos 1 4 2 3 4 2
  • 如何处理SIGSEGV、Segmentation failure。使用 Avx2 时

    如何处理SIGSEGV Segmentation failure 使用 Avx2 时 mm256 load pd mm256 store pd solved mm256 load pd 我在调用时收到了分段错误 mm256 load pd
  • Delphi 从哪里获取 BDSCOMMONDIR 的值?

    我的一个系统有一个损坏的 Delphi 安装 它认为BDSCOMMONDIR指着C Windows system32 9 0而在一个正常运行的系统上 它指向C Users Public Documents RAD Studio 9 0 我可
  • NSMutableArray alloc init 与 NSMutableArray 数组

    有什么区别 NSMutableArray alloc init and NSMutableArray array Here in NSMutableArray array 你不必释放array它将自动释放 如果你会写 NSMutableAr
  • 批量执行 for 和 start 命令以实现并行和顺序工作

    我有一个 8 核 CPU 和 8GB RAM 我正在创建一个批处理文件来自动执行 7 zip CLI 用尽大多数参数和变量来压缩同一组文件 最终目标是找到最强的参数组合和导致尽可能最小的存档大小的变量 这本质上是非常耗时的 尤其是当要处理的
  • 奇怪的行为三元运算符[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 来自 C 的我必须用 PHP 做一个项目 我正在使用这
  • 顺利更新谷歌地图上的标记位置

    我正在开发订单追踪模块在android应用程序中 在这个模块中 我实现了一个源位置标记和目的地位置标记 源位置是固定的 目标位置标记是不断变化的 每当位置改变时 但是当位置改变时 标记从一个位置跳到另一个位置 移动不顺畅 实际上我正在删除上
  • 是否可以从该函数中删除递归?

    我已经玩了一段时间了 只是看不到明显的解决方案 我想从 XinY Go 函数中删除递归 def XinY Go x y index slots if y index 1 slots index x print slots slots ind
  • JFrame 过渡效果 - 当调用 setState(Frame.ICONIFIED) 时,它只是转到任务栏而没有动画

    我现在有一个问题 当我打电话时frame setState Frame ICONIFIED 使用我的自定义按钮 我没有使用默认的 JFrame 最小化按钮 JFrame 设置为setUndecorated true JFrame 只是转到任
  • MySQL 中 BINARY LIKE 操作的索引

    我知道varchar pattern opsPostgresql 中存在用于快速 基于索引的搜索LIKE查询 但是MySQL有类似的功能吗 我目前有一个 Django MySQL 设置 其中有一个在非索引字段上运行的查询 并带有一个BINA
  • 写入子进程文件描述符

    我有一个程序 Sample 它从标准输入和非标准文件描述符 3 或 4 获取输入 如下所示 int pfds 2 pipe pfds printf s nEnter input for stdin read 0 pO 5 printf nE
  • Cordova、Phonegap 和 ionic(ios 缺少 1024x1024 图标)

    缺少营销图标 iOS 应用程序必须包含 1024x1024px 营销 PNG 格式的图标 不包含营销图标的应用程序无法 提交应用程序审核或测试版应用程序审核 当你将您的应用程序上传到苹果商店杂志 您在上面的文章中遇到了类似的错误吗 您可以找
  • 将顶点数组和面索引加载到 OpenGL-ES 的最快方法?

    我正在尝试加载已格式化为的 obj 文件 vertexX vertexY vertexZ normalX normalY normalZ and index1 index2 index3 格式为向量和向量数组 然后直接在 Opengl ES
  • 无效的 ELF header Node js 和 couchbase db

    我看过一些关于此问题的帖子 但结果似乎都特定于用户配置 我正在使用 couchbase db 和 Express js 服务器 当我在本地 Windows 运行代码时 它工作正常 数据库本身托管在 Linux 服务器上 当我将代码部署到我们
  • 删除列表中的项目后如何更新列表

    我需要一些时间来解释这一点 所以请继续听我说 我有桌子NewsFeed与自身有 OneToMany 关系 Entity public class NewsFeed ManyToOne optional true fetch FetchTyp
  • 清除后绘制图像时画布出现“形状伪影”

    我的网络应用程序中有一个非常令人费解的画布工件 错误 清除画布后 在画布上绘制另一个图像时 先前清除的圆形会重新出现 但只会出现一次 图像已经初始化一次 如下所示 this image new Image this image src im