Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何避免画布元素中圆形标记在缩放时不必要的填充不透明变化?

如何避免画布元素中圆形标记在缩放时不必要的填充不透明变化?
EN

Stack Overflow用户
提问于 2018-04-11 06:19:51
回答 1查看 427关注 0票数 2

我正在经历一些奇怪的行为填充不透明设置。这发生在圆圈和半圆标记上。FillOpacity没有显式设置,而是使用默认值。

下面描述了我的场景(简化版本可以在跟随JS Bin中进行测试)

我有超过100 k的semiCircles,它们是在画布元素中定义的,以便更快地呈现。

对于每个缩放级别大于10个不同的半径是定义的,以便有一个可读的地图。变焦越高,半径越小。在触发“缩放”事件后,定义当前缩放,并将相应的半径设置为圆圈,其中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
layerSites1.eachLayer(function(layer) {
    return layer.setRadius(rad1); 
});

在放大(通常达到最大值)之后,当我开始放大fillOpacity的密度时,它会变得更暗。这是可以修复的,即使是最小的移动地图。有时整个圆圈是与较暗的fillOpacity,有时只是其中的一部分。下面可以找到这两种情况的示例:

上面提到的JS示例是可以测试的-- fillOpacity的变化在红色的圆圈上更明显。你需要完全放大,然后放大,这样才能观察效果。如果第一次没有发生这种情况,请再次尝试放大,然后缩小。

无论是做错了什么,还是浏览器呈现问题,还是其他问题,我都会感谢您的任何建议。我用Chrome、Chrome、IE和Firefox进行了测试。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-12 00:19:41

zoomend事件和画布的实际重绘之间似乎存在时间问题。也许有一个问题值得在GitHub上提出来,但在此期间,让调用堆栈清除 --然后设置半径--似乎起了作用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setTimeout(function() {
    layerSites1.eachLayer(function(layer) {
        return layer.setRadius(rad1);
    });
}, 0);

这里有一个更新的JsBin

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

https://stackoverflow.com/questions/49777540

复制
相关文章
如何在Android中避免创建不必要的对象
在编程开发中,内存的占用是我们经常要面对的现实,通常的内存调优的方向就是尽量减少内存的占用。这其中避免创建不必要的对象是一项重要的方面。
技术小黑屋
2018/09/05
2.5K0
Fabric.js 缩放画布 🍬
getZoom 可以获取画布当前缩放级别,用 setZoom 设置一个新的缩放级别。
德育处主任
2022/06/10
5.8K0
Fabric.js 缩放画布 🍬
Canvas入门到高级详解(中)
以上两个值都可以接受颜色名,16 进制数据,rgb 值,甚至 rgba. 一般先进行设置样式然后进行绘制。
老马
2019/05/25
1.9K0
Fabric.js 锁定背景图,不受缩放和拖拽的影响🎃
如果你的项目有画布拖拽、缩放等功能,而且你不希望背景图跟随拖拽或缩放,那一定要往下读。
德育处主任
2022/06/10
3.3K0
Fabric.js 锁定背景图,不受缩放和拖拽的影响🎃
前端canvas基础复习,canvas学习笔记,持续记录
最开始学html5的时候,曾特意了解过canvas,还记得当时为了搞明白canvas的api,绞尽脑汁了很多个日日夜夜。
房东的狗丶
2023/02/17
2.4K0
前端canvas基础复习,canvas学习笔记,持续记录
眨个眼就学会了Pixi.js
当今的Web开发中,图形和动画已经成为了吸引用户注意力的重要手段之一。而 Pixi.js 作为一款高效、易用的2D渲染引擎,已经成为了许多开发者的首选(我吹的)。本文将为工友们介绍PixiJS的基础知识和使用方法,希望可以和工友们**快速光速入门**,掌握 Pixi.js 的用法。
德育处主任
2023/04/23
7.1K0
眨个眼就学会了Pixi.js
Fabric.js 从入门到________
如果你需要用 canvas 做特效,那我推荐你使用 Fabric.js ,因为 Fabric.js 语法更加简单易用,而且还提供了很多交互类的 api。
德育处主任
2022/04/17
13.5K0
Fabric.js 从入门到________
向容器中填充元素---fill
利用fill可以将容器区间填充为指定的值 属于算术生成算法一类的小型算法-----需要包含头文件numeric
大忽悠爱学习
2021/03/02
6400
向容器中填充元素---fill
React应用优化:避免不必要的render
React在组件的生命周期方法中提供了一个钩子shouldComponentUpdate,这个方法默认返回true,表示需要重新执行render方法并使用其返回的结果作为新的Virtual DOM节点。通过实现这个方法,并在合适的时候返回false,告诉React可以不用重新执行render,而是使用原有的Virtual DOM 节点,这是最常用的避免render的手段,这一方式也常被很形象地称为“短路”(short circuit)。
博文视点Broadview
2020/06/12
1.4K0
React性能探索 --- 避免不必要渲染
上一篇文章的结尾 http://imweb.io/topic/5985cc4d35d7d0a321c5eb75 我们说到,也许,不是所有的节点都需要重新渲染,对于那些不需要渲染的节点,我们如何找到它们并做优化呢?
IMWeb前端团队
2019/12/04
8170
Canvas简单入门
创建canvas至少需要提供width和height属性,才能通知浏览器需要多大位置画图。标签的内容是后备数据,在浏览器不支持canvas元素时显示。
赤蓝紫
2023/03/16
1.5K0
Canvas简单入门
关于前端的photoshop初探的学习笔记
写在前边 这还是高三的时候暑假的时候学习这个软件时记的笔记呢,今天又在电脑上找到了它,总觉得不应该让他尘封在我的硬盘上,于是挂了出来。 温馨提示:比较乱,写给自己看的,看不下去,按ctrl+W 笔记内容 ps简介 可以用于合成。 可以三维 adobe bridge图像浏览器 可以直接将图片拖动到ps的编辑系统中。。但是是出于临时文件状态,还需要对他进行保存。。 网站上某些图片不能够拉动,但是可以利用截图功能来实现。。 两张图片同时拉倒一个文件中构成两个不同的图层。。打开文件的几种方法。。 ps数
Angel_Kitty
2018/04/09
2.3K0
canvas清除画布-ZBrush中如何清除画布中多余图像
  ZBrush是一款数字雕刻与绘画软件,它以强大的功能和直观的工作流程彻底改变了整个三维行业。它的简洁化、智能化和人性化的设计无不让众多用户所折服。刚接触它的用户可能会因为找不到相关命令或不熟悉而觉得它有些复杂canvas清除画布,那么,在ZBrush®软件中如何对多余模型进行清除的操作有些刚接触的用户会找不清,本文就删除画布中的多余模型做详细讲解。
宜轩
2022/12/29
2.4K0
React性能探索 --- 避免不必要渲染
本文介绍了如何利用React社区中常用的性能优化工具和技术来提高应用程序的性能,包括使用PureComponent、shouldComponentUpdate、memo等。通过实际案例,展示了如何利用这些工具进行性能优化,从而提高应用程序的响应速度和用户体验。
IMWeb前端团队
2017/12/29
1.1K0
React性能探索 --- 避免不必要渲染
[学习笔记]unity3d-UGUI
简介 Unity 图形用户界面(unity Graphical User Interface) Unity4.6版本之后引入的界面显示系统 Unity公司自己研发的一套界面显示系统 UGUI和OnGUI、NGUI的区别 uGUI的Canavas有世界坐标和屏幕坐标 uGUI的Image可以使用material UGUI通过Mask来裁剪,而NGUI通过Panel的Clip NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层。 UGUI不需要
六月丶
2022/12/26
2.9K0
[学习笔记]unity3d-UGUI
Canvas 从进阶到退学
接着 《Canvas 从入门到劝朋友放弃(图解版)》 ,本文继续补充 canvas 基础知识点。
德育处主任
2022/12/13
2.1K0
Canvas 从进阶到退学
Android自定义系列——4.Canvas操作
1.画布操作 为什么要有画布操作? 画布操作可以帮助我们用更加容易理解的方式制作图形。 ⑴位移(translate) translate是坐标系的移动,可以为图形绘制选择一个合适的坐标系。 请注意,位移是基于当前位置移动,而不是每次基于屏幕左上角的(0,0)点移动,如下:
老马的编程之旅
2022/06/22
8520
第157天:canvas基础知识详解
    github地址: https://github.com/malun666/AndyJS2
半指温柔乐
2018/09/11
5.1K0
第157天:canvas基础知识详解
熬夜总结了 “HTML5画布” 的知识点(共10条)
html5Canvas的知识点,是程序员开发者必备技能,在实际工作中也常常会涉及到。
达达前端
2022/04/13
7.6K0
熬夜总结了 “HTML5画布” 的知识点(共10条)
安全事件频发,如何避免不必要的安全漏洞?
不管你有没有注意到,安全事件在互联网行业其实一直屡见不鲜。2017 年,虾米的客户端被曝出一段“嘲讽”未付费用户的注释,本应该是机密的代码被流出;2019 年 1 月,拼多多爆发了“100 优惠券”随便领安全漏洞,损失惨重;2019 年 7月,7-ELEVEn 连锁便利店的日本客户,因移动应用漏洞而损失了 50 万美元……
IDO老徐
2019/12/12
5060

相似问题

如何在画布中(重新)填充圆形- requestAnimationFrame - HTML,JS

111

缩放元素时出现不必要的模糊效果

10

缩放HTML画布元素

14

用背景图像填充HTML画布中的圆形

14

标记在缩放时“改变”位置

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文