久石譲 - 月光の雲海
本帖最后由 马黑黑 于 2023-10-16 17:46 编辑 <br /><br /><style>#mydiv {
margin: 0 0 0 calc(50% - 593px);
width: 1024px;
height: 644px;
background: url('https://638183.freep.cn/638183/t23/2/004.jpg') no-repeat center bottom;
box-shadow: 4px 4px 8px rgba(0,0,0,.75);
overflow: hidden;
position: relative;
display: grid;
place-items: center;
z-index: 1;
}
#mydiv::before {
position: absolute;
content: '';
width: 100%;
height: 16%;
bottom: 1px;
background: inherit;
filter: url(#turb);
}
#mydiv > svg { stroke-linecap: round; }
.myfilter { position: absolute; width: 0; height: 0; }
</style>
<div id="mydiv"></div>
<svg class="myfilter">
<filter id="turb" filterUnits="objectBoundingBox" x="0" y="0" width="100%" height="100%">
<feTurbulence id="feturbulence" type="fractalNoise" numOctaves="3" seed="2"></feTurbulence>
<feDisplacementMap xChannelSelector="G" yChannelSelector="B" scale="20" in="SourceGraphic"></feDisplacementMap>
</filter>
</svg>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=442760" autoplay loop></audio>
<script>
(function() {
let frames = 0, rad = Math.PI / 180;
let lrcAr = [ , ];
let js1 = 'https://638183.freep.cn/638183/web/api/svg_path_lrc.js',
js2 = 'https://638183.freep.cn/638183/web/lizi/h5lz_2d.js';
let loadJs = (url,callback) => {
let body = document.querySelector('body'), jsNode = document.createElement('script');
jsNode.charset = 'utf-8';
jsNode.setAttribute('src', url);
body.appendChild(jsNode);
jsNode.onload = () => callback();
};
loadJs(js1, () => {
HCPlayer({
papa: '#mydiv',
lrcAr: lrcAr,
lrc_css: 'top: 20px;',
fs_css: 'left: -200px; background: transparent;',
player_css: 'width: 200px; height: 200px; left: 2px; bottom: 2px; background: url("https://638183.freep.cn/638183/t23/btn/hshx.png") no-repeat 35px 35px',
path: 'M 100 5 Q 0 50, 100 100 T 195 100',
btn: {left: 60, top: 40},
track: {track: 'silver', prog: 'snow'},
img: {play: '', pause: ''}
});
});
loadJs(js2, () => {
H5lz({
papa: '#mydiv',
total: 60,
size: {width: 4, height: 4},
shape: {background: '#eee', borderRadius: ''},
ani: 'toBottom',
maxTime: 30,
offset: {x: -80, y: 0},
});
});
let fewave = () => {
let bfx = 0.01, bfy = 0.1;
frames += 0.5;
bfx += 0.002 * Math.cos(frames * rad);
bfy += 0.02 * Math.sin(frames * rad);
bf = ;
feturbulence.setAttributeNS(null, 'baseFrequency',bf.join(' '));
requestAnimationFrame(fewave);
};
fewave();
})();
</script>
帖子代码:
<style>
#mydiv {
margin: 0 0 0 calc(50% - 593px);
width: 1024px;
height: 644px;
background: url('https://638183.freep.cn/638183/t23/2/004.jpg') no-repeat center bottom;
box-shadow: 4px 4px 8px rgba(0,0,0,.75);
overflow: hidden;
position: relative;
display: grid;
place-items: center;
}
#mydiv::before {
position: absolute;
content: '';
width: 100%;
height: 16%;
bottom: 1px;
background: inherit;
filter: url(#turb);
}
#mydiv > svg { stroke-linecap: round; }
.myfilter { position: absolute; width: 0; height: 0; }
</style>
<div id="mydiv"></div>
<svg class="myfilter">
<filter id="turb" filterUnits="objectBoundingBox" x="0" y="0" width="100%" height="100%">
<feTurbulence id="feturbulence" type="fractalNoise" numOctaves="3" seed="2"></feTurbulence>
<feDisplacementMap xChannelSelector="G" yChannelSelector="B" scale="20" in="SourceGraphic"></feDisplacementMap>
</filter>
</svg>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=442760" autoplay loop></audio>
<script>
(function() {
let frames = 0, rad = Math.PI / 180;
let lrcAr = [ , ];
let js1 = 'https://638183.freep.cn/638183/web/api/svg_path_lrc.js',
js2 = 'https://638183.freep.cn/638183/web/lizi/h5lz_2d.js';
let loadJs = (url,callback) => {
let body = document.querySelector('body'), jsNode = document.createElement('script');
jsNode.charset = 'utf-8';
jsNode.setAttribute('src', url);
body.appendChild(jsNode);
jsNode.onload = () => callback();
};
loadJs(js1, () => {
HCPlayer({
papa: '#mydiv',
lrcAr: lrcAr,
lrc_css: 'top: 20px;',
fs_css: 'left: -200px; background: transparent;',
player_css: 'width: 200px; height: 200px; left: 2px; bottom: 2px; background: url("https://638183.freep.cn/638183/t23/btn/hshx.png") no-repeat 35px 35px',
path: 'M 100 5 Q 0 50, 100 100 T 195 100',
btn: {left: 60, top: 40},
track: {track: 'silver', prog: 'snow'},
img: {play: '', pause: ''}
});
});
loadJs(js2, () => {
H5lz({
papa: '#mydiv',
total: 60,
size: {width: 4, height: 4},
shape: {background: '#eee', borderRadius: ''},
ani: 'toBottom',
maxTime: 30,
offset: {x: -80, y: 0},
});
});
let fewave = () => {
let bfx = 0.01, bfy = 0.1;
frames += 0.5;
bfx += 0.002 * Math.cos(frames * rad);
bfy += 0.02 * Math.sin(frames * rad);
bf = ;
feturbulence.setAttributeNS(null, 'baseFrequency',bf.join(' '));
requestAnimationFrame(fewave);
};
fewave();
})();
</script>
帖子图片复用之前帖子的图片。
帖子底部的轻微动态效果通过 svg 滤镜实现,由 JS 驱动,未设置暂停功能。 黑黑辛苦又一个自由路径播放器{:4_199:} 马黑黑 发表于 2023-10-16 17:44
帖子图片复用之前帖子的图片。
帖子底部的轻微动态效果通过 svg 滤镜实现,由 JS 驱动,未设置暂停功能 ...
滤镜效果我还是不懂,刚做了个播放器的效果,滤镜修改颜色我不明白,又瞎捣鼓了一个{:4_170:} 小辣椒 发表于 2023-10-16 18:25
滤镜效果我还是不懂,刚做了个播放器的效果,滤镜修改颜色我不明白,又瞎捣鼓了一个
{:4_190:} 小辣椒 发表于 2023-10-16 18:23
黑黑辛苦又一个自由路径播放器
这个,你只需要做个路径就成了 这滤镜效果好像还没讲过吧,看着很陌生,但效果很漂亮{:4_199:} 红影 发表于 2023-10-16 20:53
这滤镜效果好像还没讲过吧,看着很陌生,但效果很漂亮
以前讲过,只是不是专门介绍滤镜 醉美水芙蓉 发表于 2023-10-16 19:14
svg 滤镜动态效果不错!svg 滤镜不懂,谢谢黑黑老师分享!
{:4_190:} 这个帖子真很清静的感觉,制作真漂亮{:4_187:}
黑黑先把这个svg滤镜效果弄到帖子了,是证明它的强大,吸引大家更好地去学习它吧{:4_173:} 红影 发表于 2023-10-16 20:58
黑黑先把这个svg滤镜效果弄到帖子了,是证明它的强大,吸引大家更好地去学习它吧
这个以前用过的,那是应该是做云的效果 马黑黑 发表于 2023-10-16 21:15
这个以前用过的,那是应该是做云的效果
好像有印象,不过那个没记住{:4_173:} 马黑黑 发表于 2023-10-16 20:55
以前讲过,只是不是专门介绍滤镜
好像以前还有个边缘腐蚀效果?我忘记是不是这个名了{:4_173:} 红影 发表于 2023-10-16 23:34
好像以前还有个边缘腐蚀效果?我忘记是不是这个名了
就是这两货的组合 红影 发表于 2023-10-16 23:30
好像有印象,不过那个没记住
它很复杂。我正在考虑写一个容易理解的介绍短文。 马黑黑 发表于 2023-10-16 23:59
就是这两货的组合
原来是这样,这水波和倒影都好美啊{:4_187:} 马黑黑 发表于 2023-10-16 23:59
它很复杂。我正在考虑写一个容易理解的介绍短文。
嗯嗯,太好了,等着黑黑的讲解{:4_187:}
页:
[1]
2