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

使用 Effect 玩玩阴影、内阴影、 长阴影

最近在学习怎么用 Shazzam Shader Editor 编写自定义的 Effect,并试着去实现阴影、内阴影和长阴影的效果。...结果我第一步就放弃了,因为阴影用到的高斯模糊算法对我来说太太太太太太太太难了,最后只好用些投机取巧的方法来模仿这几种效果。 1....= inputColor.rgb * opacity; resultColor.a = opacity; return resultColor; } 下图是上面的 XAML 实现的效果...长阴影 我以前写过一篇在 UWP 实现长阴影的博客:使用GetAlphaMask和ContainerVisual制作长阴影(Long Shadow) 。...长阴影的原理是不断向左上角(因为偷懒就只是做向右下的阴影)检查,直到遇到 Alpha 通道为 1 的像素,然后计算这个像素与自身的距离得出阴影的 Alpha,所有代码如下: float4 main(float2

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

    阴影进阶,实现更加的立体的阴影效果!

    CSS 阴影的存在,让物体看上去更加有型立体。 然而,在最简单的阴影使用之上,我们可以实现更多有意思且更加立体的阴影效果。 本文将带大家看看如何使用 CSS 实现几类比普通阴影更加立体的阴影效果。...长投影 上面提到了通过多层阴影叠加实现文字的立体阴影。运用在 div 这些容器上也是可以的。当然这里还有一种挺有意思的方法。...假设我们,有一个矩形元素,希望给他添加一个长投影,像下面这样: 要生成这种长投影,刚刚说的叠加多层阴影可以,再就是借助元素的两个伪元素,其实上面的图是这样的: 关键点在于,我们通过对两个伪元素的 transform...: skew() 变换以及从实色到透明色的背景色变化,实现了长投影的效果: CodePen Demo -- 线性渐变模拟长阴影 立体投影 好,我们继续。...: 文字立体投影 / 文字长阴影 上面的立体效果在文字上就完全不适用了,所以对待文字的立体阴影效果,还需要另辟蹊径。

    2K20

    canvas多重阴影发光效果

    canvas多重阴影发光效果 前言 在一个项目中,客户提了一个发光的效果,效果图如下: [11a5244567254f45a7cc45a698e9ee4d~tplv-k3u1fbpfcp-zoom-1....但是从图中可以看出,是一个比较强烈的发光效果。实际的应用过程中我们会发现用简单阴影参数实现的效果很难达到这样强烈的发光效果。...多重阴影 如何达到具有较强的阴影强度,又有较好的阴影扩散度呢?也就是实现这种比较强烈的发光效果。嗯,答案就是使用多重阴影效果。...所谓多重阴影效果,使用阴影效果对图形进行多次绘制,多次绘制的过程中,shadowBlur的值会不一样,这样可以形成多个阴影叠加的效果。 下面是一个简单的示例,代码如下。...下面是用多重阴影实现的文字霓虹灯效果,同样可以看出有较好的发光效果。

    1.3K00

    canvas多重阴影发光效果

    canvas多重阴影发光效果 前言 在一个项目中,客户提了一个发光的效果,效果图如下: image.png 阴影 有的人可能会说,这个用阴影其实就可以实现。...但是从图中可以看出,是一个比较强烈的发光效果。实际的应用过程中我们会发现用简单阴影参数实现的效果很难达到这样强烈的发光效果。...多重阴影 如何达到具有较强的阴影强度,又有较好的阴影扩散度呢?也就是实现这种比较强烈的发光效果。嗯,答案就是使用多重阴影效果。...所谓多重阴影效果,使用阴影效果对图形进行多次绘制,多次绘制的过程中,shadowBlur的值会不一样,这样可以形成多个阴影叠加的效果。 下面是一个简单的示例,代码如下。...总结 可以看出要达到强烈的发光效果, 需要使用多重阴影功能。当然使用多种阴影也不是没有限制的, 因为阴影本身有很大的性能损耗。通过尝试我们发现一般3~5次之间就能够达到较好的效果吧。

    1.4K30

    canvas可视化效果之内阴影效果

    canvas可视化效果之内阴影效果 楔子 在之前的一个轨道交通可视化项目中,运用到了很多绘制技巧。...可以参考 之前的一篇文章 《利用canvas阴影功能与双线技巧绘制轨道交通大屏项目效果》 image.png 效果图中的轨道,就同时存在外发光和内发光效果的效果。...外发光效果 我们知道外发光效果是很容易实现的,直接通过设置阴影效果即可达到。...默认的阴影,我们称之为外阴影,意思都是图像向往展开的阴影效果。 内阴影 接下来的问题可能就变得有点难度。如果我们需要如下的一个内阴影的效果呢?...: image.png 同时绘制内外阴影效果 如果修改globalCompositeOperation为“xor”,我们还可以得到既有内阴影又有外阴影的效果。

    1K40

    使用GetAlphaMask和ContainerVisual制作长阴影(Long Shadow)

    什么是长阴影 前几年扁平化设计(Flat Design)十分流行,后来在扁平化的基础上又流行起了长阴影(Long Shadow)。...长阴影其实就是扩展了对象的投影,感觉是一种光线照射下的影子,通常采用角度为 45 度的投影,给对象添加了一份立体感。长阴影快速发展为流行的设计趋势,并经常被应用到扁平设计方案的对象。...它很适合用在较小的元素上,一时之间几乎应用的图标都加上了长阴影。(不过现在又不流行了) ? 2....使用GetAlphaMask和ContainerVisual制作长阴影 要在UWP中制作长阴影的话,可以用GetAlphaMask拿到轮廓,做成灰色,然后复制一百几十个摆在后面。...这样可玩性就大多了,例如我把长阴影的设计元素添加到番茄钟里面,成果如下: ? 5. 结语 虽然长阴影已经有点过时了,但自己做起来还是觉得很酷很酷。

    42810

    使用纯 CSS 实现滚动阴影效果

    在较早的一篇文章里 -- CSS 实现视差效果,详细了介绍了 background-attachment,借助了 background-attachment: fixed 可以简单的实现网站的滚动视差或者是类似图片点击的水纹效果...这个和本文的滚动阴影有什么关联呢? 别急,滚动阴影的难点在于,初始没有滚动的时候是没有阴影展现的,只有当开始滚动,阴影才会出现。...OK,可以看大,当滚动的时候,最后一幅叠加的情况,其实就是我们需要的滚动的时候展示不同的颜色(阴影)的效果。...,其实最终的效果,内容是在阴影(背景之上的),但是实际效果其实没有很大的差别,如果能忍受这一点,这个方案是完全可用的。...Can i use 下面的注释表明,大部分兼容问题其实是出在 background-attachment: fixed,对于本文的效果影响不大。

    2.6K20
    领券