首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

canvas 绘制双线技巧

其中: 源图像 = 您打算放置到画布上的绘图。 目标图像 = 您已经放置在画布上的绘图 下图显示了globalCompositeOperation的不同的值的解释: ?...看下destination-out的解释: 在源图像外显示目标图像。只有源图像外的目标图像部分会被显示,源图像是透明的。 绘制了线路A的canvas图像是目标图像,线路B是源图像。...根据上面解释,只有源图像之外的目标图像能够被显示。最终绘制的效果如下: ?...意思源和目标的像素重叠(overlap)的部分会被变成透明像素,其他部分正常绘制。 所以上面示例中,线条A和线条B重叠的部分会被变成透明。绘制的效果也是线条A的被挖空。...对于source-out,其效果正好和destination-out的效果相反: 在目标图像之外显示源图像。只会显示目标图像之外源图像部分,目标图像是透明的。

2.4K50

Day 3 学习Canvas这一篇文章就够了

这是默认设置,新图像会覆盖在原有图像。 ##2. source-in 仅仅会出现新图像与原来图像重叠的部分,其他区域都变成透明的。(包括其他的老图像区域也会透明) ?...##3. source-out 仅仅显示新图像与老图像没有重叠的部分,其余部分全部透明。(老图像也不显示) ? ##4. source-atop 新图像仅仅显示与老图像重叠区域。...##6. destination-in 仅仅新老图像重叠部分的老图像被显示,其他区域全部透明。 ? ##7. destination-out 仅仅老图像与新图像没有重叠的部分。...注意显示的是老图像的部分区域。 ? ##8. destination-atop 老图像仅仅仅仅显示重叠部分,新图像会显示在老图像的下面。 ?...##9. lighter 新老图像都显示,但是重叠区域的颜色做加处理 ? ##10. darken 保留重叠部分最黑的像素。

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    熬夜总结了 “HTML5画布” 的知识点(共10条)

    Canvas坐标体系 canvas默认大小,300*150 通过HTML,css,JavaScript设置width和height的区别 HTML和JavaScript设置的画布大小 css设置的是画布缩放后的大小...destination-atop 已有的内容只在它和新的图形重叠的地方保留,新图形绘制在内容后 destination-in 在新图形和已有画布重叠的地方,已有内容都保留,所有其他内容成为透明 destination-out...在新图形和已有内容不重叠的地方,已有内容保留所有其他内容成为透明 destination-over 新图形绘制于已有内容的后面 lighter 在图形重叠的地方,颜色由两种颜色值的叠加值来决定 source-atop...只在新图形和已有内容重叠的地方才绘制新图形 source-in 在新图形和已有内容重叠的地方,新图形才会被绘制,所有其他内容成为透明 source-out 只在和已有图形不重叠的地方绘制新图形 source-over...,需要考虑图像加载的时间,如果图像没加载完成就已经执行drawImage()方法,就不会显示任何图片。

    7.1K21

    熬夜总结了 “HTML5画布” 的知识点(共10条)

    lineWidth用来设置线条的粗细 Canvas中的图形变换,渐变,文字和图片 Canvas中的图像变换 Canvas中的渐变 Canvas中的文字 Canvas中的图片 Canvas中的图形变换...destination-atop 已有的内容只在它和新的图形重叠的地方保留,新图形绘制在内容后 destination-in 在新图形和已有画布重叠的地方,已有内容都保留,所有其他内容成为透明 destination-out...在新图形和已有内容不重叠的地方,已有内容保留所有其他内容成为透明 destination-over 新图形绘制于已有内容的后面 lighter 在图形重叠的地方,颜色由两种颜色值的叠加值来决定 source-atop...只在新图形和已有内容重叠的地方才绘制新图形 source-in 在新图形和已有内容重叠的地方,新图形才会被绘制,所有其他内容成为透明 source-out 只在和已有图形不重叠的地方绘制新图形 source-over...,需要考虑图像加载的时间,如果图像没加载完成就已经执行drawImage()方法,就不会显示任何图片。

    7.6K10

    前端canvas基础复习,canvas学习笔记,持续记录

    该元素可以使用CSS来定义大小,但在绘制时图像会伸缩以适应它的框架尺寸:如果 CSS 的尺寸与初始画布的比例不一致,它会出现扭曲。...如果绘制出来的图像是扭曲的,尝试用 width 和 height 属性为明确规定宽高,而不是使用 CSS。 canvas 起初是空白的。...  source-over,现有画布之上绘制图像 destination-over,现有画布的下面绘制图形 source-in,与现有画布重叠的地方绘制图形,其他地方透明(如单词的意思在source源的内部绘制...) source-out,与现有画布不重叠的地方绘制图形,其他地方透明(如单词的意思在source源的外部绘制) source-atop,与现有画布内容重叠的地方绘制,其他地方不透明 destination-in...,现有内容保留在重叠位置 destination-out,现有内容保留不重叠位置 destination-atop,都保留,新图像在现有的下面绘制 事件操作 在 Canvas 中,常见的事件共有三种,即鼠标事件

    2.4K40

    前端图片优化机制

    打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示。...优势: 优秀的压缩算法使其在一定程度上保证图像质量的同时将体积变得很小 可插入多帧,从而实现动画效果 可设置透明色以产生对象浮现于背景之上的效果 劣势:  由于采用了8位压缩,最多只能处理256种颜色...优势: 支持256色调色板技术以产生小体积文件 最高支持48位真彩色图像以及16位灰度图像。 支持Alpha通道的半透明特性。 支持图像亮度的gamma校正信息。...- 支持存储附加文本信息,以保留图像名称、作者、版权、创作时间、注释等信息。 使用无损压缩。 渐近显示和流式读写,适合在网络传输中快速显示预览效果后再展示全貌。 使用CRC循环冗余编码防止文件出错。...但实际上,webp虽然会增加额外的解码时间,但是由于减少了文件体积,缩短了加载的时间,实际上文件的渲染速度反而变快了。

    3.2K01

    前端图片优化机制

    打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示。...优势: 优秀的压缩算法使其在一定程度上保证图像质量的同时将体积变得很小 可插入多帧,从而实现动画效果 可设置透明色以产生对象浮现于背景之上的效果 劣势:  由于采用了8位压缩,最多只能处理256种颜色...优势: 支持256色调色板技术以产生小体积文件 最高支持48位真彩色图像以及16位灰度图像。 支持Alpha通道的半透明特性。 支持图像亮度的gamma校正信息。...- 支持存储附加文本信息,以保留图像名称、作者、版权、创作时间、注释等信息。 使用无损压缩。 渐近显示和流式读写,适合在网络传输中快速显示预览效果后再展示全貌。 使用CRC循环冗余编码防止文件出错。...但实际上,webp虽然会增加额外的解码时间,但是由于减少了文件体积,缩短了加载的时间,实际上文件的渲染速度反而变快了。

    1.7K30

    SVG 线条动画基础入门知识

    与其他图像格式相比,使用 SVG 的优势在于: 1、SVG 可被非常多的工具读取和修改(比如记事本) 2、SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。...3、SVG 是可伸缩的 4、SVG 图像可在任何的分辨率下被高质量地打印 5、SVG 可在图像质量不下降的情况下被放大 6、SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图) 7、...class 类选择器 width | height: 定义 svg 画布的大小 viewbox: 定义了画布上可以显示的区域,当 viewBox 的大小和 svg 不同时,viewBox 在屏幕上的显示会缩放至...MDN Web 文档有基本形状的文档,建议去看看。包含矩形、圆形、椭圆、线条、多边形、折线等等。 好了,有了基本的了解,我们继续今天的话题,SVG 线条动画。...button垂直水平居中、shape透明填充,边框宽度4px,边框颜色#1199ff。

    2.9K30

    MarsCode 助力:Canvas 上的素描变色魔法✨

    常用的混合结果如下:source-over:默认设置,在现有画布上下文之上绘制新图形。source-in:新图形只在新图形和目标画布重叠的地方绘制。其他的都是透明的。...destination-in:现有的画布内容保持在新图形和现有画布内容重叠的位置。其他的都是透明的。destination-out:现有内容保持在新图形不重叠的地方。...在Canvas中擦除实际是改变已有图像的透明度,Canvas给我们提供了getImageData()查看当前图像的像素信息,通过在onMouseMove中统计图像当前有效像素比,看是否需要直接清空前景。...显示的模式,所以一个像素表示有 4 个分量,透明度是最后一个分量 for (let i = 0; i 的...接着,我们把有色原图设置到Canvas的背景上,这样擦除后,显示的就是有色背景了。

    13110

    前端性能优化篇二:图片的合理使用

    缺点 1 矢量图形和 Logo 等线条感较强、颜色对比强烈的图像时,人为压缩导致的图片模糊会相当明显 2 不支持透明度处理,透明需要png处理 3 PNG-8 和 PNG-24 关键字:无损压缩,质量高...PNG 图片具有比 JPG 更强的色彩表现力,对线条的处理更加细腻,对透明度有良好的支持。它弥补了上文我们提到的 JPG 的局限性,唯一的 BUG 就是体积太大。...理论上来说,当你追求最佳的显示效果、并且不在意文件体积大小时,是推荐使用 PNG-24 的。 但实践当中,为了规避体积的问题,我们一般不用PNG去处理较复杂的图像。...5 base64 关键字:文本文件,依赖编码,小图标的解决方案 前言知识 雪碧图 雪碧图、CSS 精灵、CSS Sprites、图像精灵,说的都是这个东西——一种将小图标和背景图像合并到一张图片上,然后利用...CSS 的背景定位来显示其中的每一部分的技术。

    1.3K30

    【面试篇】金九银十面试季,这些面试题你都会了吗?

    在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差, IE6将对CSS提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6 支持CSS则将令这些页面显示不正常...a:alt(alt text):为不能显示图像、窗体或applets的用户代理(UA),alt属性用来指定替换文字。替换文字的语言由lang属性指定。...在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40% 知道什么是微格式吗?谈谈理解。在前端构建中应该考虑微格式吗?...优点:将智能数据添加到网页上,让网站内容在搜索引擎结果界面可以显示额外的提示。(应用范例:豆瓣,有兴趣自行google) CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?...外边距重叠就是margin-collapse。 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。

    88030

    网站图片优化

    使用场景 适用于呈现色彩丰富的图片 大的背景图 轮播图 Banner图 缺陷 处理矢量图形和 Logo 等线条感较强、颜色对比强烈的图像时,人为压缩导致的图片模糊会相当明显 不支持透明度处理,透明图片需要召唤...PNG (PNG-8 与 PNG-24) 优点 无损压缩高保真 8 位的 PNG 最多支持 256 种颜色,24 位的可以呈现约 1600 万种颜色 比 JPG 更强的色彩表现力,对线条的处理更加细腻...,对透明度有良好的支持 缺点 体积太大 应用场景 呈现小的 Logo、颜色简单且对比强烈的图片或背景等 使用 pngquant 优化 PNG 图像 1.npm install imagemin-pngquant...WebP 优点 像 JPEG 一样对细节丰富的图片信手拈来,像 PNG 一样支持透明,像 GIF 一样可以显示动态图片——它集多种图片文件格式的优点于一身 官方介绍 与 PNG 相比,WebP 无损图像的尺寸缩小了...在等效的 SSIM 质量指数下,WebP 有损图像比同类 JPEG 图像小25-34%。 无损 WebP 支持透明度(也称为 alpha 通道),仅需 22% 的额外字节。

    1.6K30

    奇思妙想 CSS 文字动画

    只需要记住核心的,使用 mask 最重要结论就是:添加了 mask 属性的元素,其内容会与 mask 表示的渐变的 transparent 的重叠部分,并且重叠部分将会变得透明。...单独将两个滤镜拿出来,它们的作用分别是: filter: blur(): 给图像设置高斯模糊效果。 filter: contrast(): 调整图像的对比度。...在 SVG 与 CSS 的搭配中,有一类非常适合拿来做动画的属性,也就是 stroke-* 相关的几个属性,利用它们,我们只需要掌握简单的 SVG 语法,就可以快速制作相关的线条动画。...我们利用 SVG 中几个和边框、线条相关的属性,来实现文字的线条动画,下面罗列一下,其实大部分和 CSS 对比一下非常好理解,只是换了个名字: stroke-width:类比 css 中的 border-width...】SVG 线条动画入门 线条文字动画 接下来,我们利用 stroke-* 相关属性,实现一个简单的线条文字动画。

    3.5K11

    浅谈性能优化之图片压缩、加载和格式选择

    缺陷 JPG 的有损压缩在 轮播图 和 背景图 的展示上确实很难看出破绽,但当它处理矢量图形和 Logo 等线条感较强、颜色对比强烈的图像时,人为压缩导致的 图片模糊 会相当明显。...因此不适宜用该格式来显示 高清晰度 和 线条感较强 的图像。 除此之外, JPG 并不支持对有透明度要求的图像进行显示,如果需要显示 透明图片 还是需要另寻它路。...PNG-8 与 PNG-24 png 是一种采用无损压缩算法的位图格式。 优势 无损压缩 完全支持 alpha 透明度。 可以重复保存且不降低图像质量。...亦或者需要处理有透明度或线条明显的图片时,也会采用 PNG 。如网站主 logo: SVG 严格来说应该是一种开放标准的矢量图形语言。...如果我们把大图也编码到 HTML 或 CSS 文件中,后者的体积会明显增加,即便我们减少了 HTTP 请求,也无法弥补这庞大的体积带来的性能开销。

    55110

    UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制

    首先我们来看一下 SVG 的文件结构和组成 SVG (Scalable Vector Graphics) 是一种可缩放矢量图形,使用 XML 格式来定义,是一种 W3C 标准,图像在放大或改变尺寸的情况下其图形质量不会有所损失...XML 格式,而里面的元素,从字面上来看,是一个坐标为(100,50),半径为40,填充色为红色,线条为黑色,线宽为2的圆形。...,线条,变换等,因为 SVG 是 W3C 标准,所以以上这些外观属性,在 CSS 中都有对应的属性。...也就是说先出现的元素,会出现在绘制的底层,而后出现的元素,会出现在绘制的顶层,如果元素间位置有重叠,则会出现顶层元素遮挡底层元素的情况。 2....,用这里的 path 去涂抹底图,涂抹过的地方,透明遮罩失效,底图露出,就达到了涂抹出底图线条的目的。

    1.7K90

    SVG 动画精髓(下)

    在 SVG 中,最长用到的线条标签就是 Path。这里我前面一篇文章已经做了介绍,我这里就不赘述了。 而在具体变化当中用到的是关于stroke的相关属性:(下面的属性都可以直接用在 CSS 当中!)...其余的大家下去实践一下即可。详细可以参考: miter stroke-opacity:线段的透明度 stroke-width:线的粗细。...,然后使用 3 个 text 重叠。...具体效果如图: 给点提示: 将多个文字重叠,取不同的 offset 和 array 即可。动画的终止位置一般取一个 gap + dash 的周期长即可。...关于文字来说,一般而言需要注意的点就那么即可,文字的排列,间距等等。这些都可以直接使用 CSS 进行控制。不过,有几个属性比较特殊,这里需要额外提一下。

    1.8K00
    领券