- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个小库,使用位图字体在 Javascript 中模拟类似诅咒的界面。字体是包含所有字符的 png,并且背景透明。
我用来渲染 Angular 色的方法如下。
context.globalCompositeOperation
更改为 destination-in
这一切都是在名为 putChar
的函数中完成的。但由于某种原因,似乎只有最后一个 putChar
调用才会呈现。
在下面的 JSFiddle 中,我从库中删除了除了重现问题所需的所有内容。 putChar
在第 56、57 和 58 行中调用。它应该在一行中呈现黄色“a”、绿色“b”和蓝色“c”。但仅呈现第三个 putChar
调用(蓝色“c”。)
这是我第一次使用复合操作,所以我一定错过了一些东西。有人知道为什么会发生这种情况吗?
最佳答案
您可以根据需要多次更改复合操作。
在这里您可以看到规范中全局复合操作的定义:
这里有各种操作的快速视觉提醒:
https://developer.mozilla.org/samples/canvas-tutorial/6_1_canvas_composite.html
那么您的情况发生了什么?
当使用复合模式“destination-in”时,这正是预期的行为,只有正在绘制的内容将保留在 Canvas 上,并且将使用像素的颜色进行绘制那已经在那里了。
因此,每次打印一个字符时,都会删除其他所有内容,这不是问题,只是不是您想要的。
如何获得您想要的行为?
1) 您可以在单独的 Canvas 上构建字符,然后在主 Canvas 上绘制 Canvas 。
2)但更简单的方法是使用剪辑:通过剪辑,您可以将效果的“范围”限制为您希望操作发生的矩形:
在绘制之前,只需添加:
context.save();
context.beginPath();
context.rect(x * GenCon.font.width,
y * GenCon.font.height,
GenCon.font.width,
GenCon.font.height);
context.clip();
并且不要忘记:
context.restore();
在这里工作 fiddle :http://jsfiddle.net/gamealchemist/r96Lh/4/
关于javascript - 当使用 "destination-in,"时,只有最后绘制的东西似乎会渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944634/
我正在使用底部导航。 在切换画面中,还有一个打开dialog fragment的功能。 为此我还使用了导航。 这是因为,一旦此dialog 完成,data 必须传送到打开该对话框的屏幕。 为此我使用了
我一般是导航图和导航组件的新手,我正在尝试将数据从位于“PrivSectionFragment”中的回收器 View 传递到“PrivSectionDetailFragment”。不幸的是,每当我运行
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一个案例需要将图像存储在不同的目录中。所以我将 multer 设置为。 app.use(multer({ dest: path.join(__dirname, '`public/ass
我在我的应用程序中使用了导航组件。我把我的应用程序上传到firebase进行测试。应用程序在大多数设备中正常工作,但在某些设备中应用程序崩溃并显示此图像中的错误。。这是我的导航文件代码。为什么会这样呢
有人在为 appflow 调用 update_flow 时遇到此错误吗? errorMessage": "调用 UpdateFlow 操作时发生错误 (ValidationException):更新流
我为 RSocket 消息写了一个小演示 问题是我无法访问 Rsocket端点, 我从服务器收到以下异常: 客户端: 配置: @Bean RSocket rSocket() { return
当我尝试在 viewpager 中从一个 Fragment 导航到另一个 Fragment 时,我遇到了 Android Navigation Architecture 组件的问题,我收到此错误: j
我正在尝试使用 travis-ci.org 实现持续集成。 这是我当前的 .travis.yml 配置: language: swift osx_image: xcode8.3.3 xcode_pro
当发生配置更改并因此重新创建我的 Activity 和 Fragment 时,我的导航 Graph 范围内的 ViewModel 不可用,而 Fragments 已经被再次创建。 似乎在 navGra
所以我使用的是Django 4.2,它通过Django-JET-REBOOT Fork与Django-JET管理包一起使用;它通过良好的功能和用户体验增强了管理。。每次我将我的应用程序部署到生产环境中
我正在完成我的 CISCO C 类(class),我对以下函数有疑问。 谁能给我解释一下这个函数的逻辑,尤其是这里 --destination 的用法? char *mystrcat(char *de
题目地址:https://leetcode-cn.com/problems/destination-city/ 题目描述 给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 p
尝试在服务器上运行应用程序时,我的集成机器人提示... xcodebuild: error: No destinations were specified with the -destination
我正在使用下面的 Java 代码进行 SAP 连接,但我不知道要在 getDestination() 方法中放入什么内容。请指导我如何找到目的地的值(value)或投入什么? createDesti
当绘制路径然后使用 globalCompositeOperation = "destination-out" 绘制完全相同的路径时,如下所示: function drawPath(ctx){ ct
我正在尝试创建径向进度 View 。 Canvas 中的第二条弧应该只清除 Canvas 的一小部分,但它却将其全部清除。 我用过: this.ctx.globalCompositeOperation
我正在从 jboss 5 迁移到 wildfly 12。我陷入了一个异常(exception)我正在java 8中使用wildfly 12和jndi进行ejb(3.1)调用我已经在 Wildfly 控
我想向当前导航图注入(inject)一个新的目的地。 我注意到 NavGraph 有一个方法 void addDestination(@NonNull NavDestination node) 但我找
我有一系列数据在书中的每个工作表中处于相同位置,并且将始终处于该位置。运行宏时,应将数据复制并添加到报告表中。我有那部分工作,但我需要使用特殊粘贴: .PasteSpecial xlPasteValu
我是一名优秀的程序员,十分优秀!