有声有色 发表于 2023-5-29 12:25

神奇的PS一抹就没了


<div class="t_fsz">
<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_1896529">
<i class="pstatus"> </i><br /><br /><style type="text/css">
#papa        {
        width: 1200px;height: 710px;position:relative; --state:paused;
        box-shadow:0px 0px 1px 2px #045768, 0px 0px 0px 8px #99e5f5,0px 0px 5px 15px #045768;
        overflow:hidden;border-radius:1%;display:grid; place-items:center;
        margin-top:100px;margin-LEFT: -310px;
}
.vid { position: absolute; width: 1500px; height: 710px; object-fit: cover; opacity: 1; }
.mypic { position: absolute; width: 10px; height: 10px;left: 82px;top: 380px; }


#baiBox {
      width: 500px;
        height: 50px;
      text-align: center;
      font-family:微软简中圆;
      font-size: 2.0rem;
      font-weight: bold;
      color: #f46ff6;
      transform-origin: top;
      animation: yao 1.0s linear infinite alternate;
        position:absolute;left:50px;top:30px;/*位置设置*/
}

@keyframes yao {
      from{transform: perspective(800px) rotatex(30deg); }
      to { transform: perspective(800px) rotatex(-30deg); }
}

.tit { position: relative;width: 500px;height: 30px;filter: drop-shadow(-1px 1px 1px #ffffff)drop-shadow(0px -1px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff) }

css-doodle { position: absolute; }
</style>


<div id="papa">

<metaname="referrer" content="never">
<video frameborder="0" class="vid"src="https://txcdn1-file-m.mvbox.cn/upload/f972ca933f026b8477252c6747d7c70b.mp4" autoplay muted loop="" controls="" style="MARGIN-TOP:0px;MARGIN-LEFT:0px;background:#000 ;width:1380px; height: 750px;-webkit-mask-image: radial-gradient(black 100%, transparent 100%);position:absolute;left:0px;top:0px;"></video> </video>


<img class="mypic" src="https://z3.ax1x.com/2021/08/26/hujGMd.gif" alt="" />



<css-doodle grid="16" id="fFloat">
        :doodle {
                @size: 1200px 680px;
        }
        position: absolute;
        left: @r(255)%;
        top: -10%;
        :after {
                position: absolute;
                content: '@p(life, ♬, ♪, ♩,♫, ∮, ✲, ❉, ❤,, ☺, ★, ☆,ideal, ❄)';
                color:#ffffff;
                font-size: @r(15, 25)px;
        }
        animation: fall 40s @r(-6, 36)s infinite var(--state);
        @keyframes fall {
                from { transform: rotate(0deg) translate(0px); }
                to { transform: rotate(@r(-250,160)deg) translate(-1500px); }
        }
</css-doodle>

<css-doodle id="mplayer">
        :doodle {
                @grid: 2 / 500px 100px;
                color: var(--color);
                bottom: 70px;
                z-index: 999;
                --prog: 0%;
                --size: 60px;
                --ttmsg1: '00:00';
                --ttmsg2: '00:00';
                --color: #fb8a2f;
                position:absolute;
        }
        /* 时间信息 : 左 */
        @nth(1) {@place: 5% 100%; :after { content: var(--ttmsg1); } }
                /* 控制器 */
        @nth(2) {
                @size: 60px;
                @shape: windmill;
                @place: 50% 35%;                        
                background: var(--color);
                animation: rot 6s infinite linear var(--state);
        }
                /* 时间信息 : 右 */
        @nth(3) {
                @place: 95% 100%;
                :after { content: var(--ttmsg2); }
        }
                /* 进度条 */
        @nth(4) {
                @place: 50% 80%;
                @size: 100% 2px;
                background: Silver;
                display: grid;
                place-items: center start;
        :before {
                content: '';
                width: var(--prog);
                height: 100%;
                background: var(--color);
        }
}
@keyframes rot { to { transform: rotate(1turn); } }
</css-doodle>

<css-doodle id="lrc">
        :doodle {
                @size: auto 3.5em;
                bottom: 20px;
                --geci: "花潮lrc在线";
                --motion: cover2;
                --tt: 1s;
                position:absolute;
        }
        /* 单元格两个伪元素显示lrc歌词 */
        display: grid;
        place-items: center start;
        :before, :after {
                content: var(--geci);
                color: snow; /* 歌词底色 */
                font: bold 2.4em sans-serif;
                text-shadow: 1px 1px 1px #000;
                white-space: pre;
       }
        :after {
                position: absolute;
                width: 0;
                color: #18f978; /* 同步歌词颜色 */
                overflow: hidden;
                animation: var(--motion) var(--tt) linear forwards var(--state);
        }
        @keyframes cover1 { from { width: 0; } to { width: 100%; } }
        @keyframes cover2 { from { width: 0; } to { width: 100%; } }
</css-doodle>


<div id="baiBox">
<div class="tit">
<span style="color:#fb52f9;"><span style="font-size:32px;">《越剧-大观园》</span>
<span style="color:#3d46f7;"><span style="font-size:20px;">   -祭晴雯</span>
</div></div>

<div style="position:absolute;bottom:10px;right:50px;filter: drop-shadow(-1px 1px 1px #e8f552)drop-shadow(0px -1px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)">
<p><span style="color:#ff0000;"><span style="font-family:华文隶书;"><span style="font-size:26px;"></span></span></span></p></div>

<div style="position:absolute;bottom:20px;left:50px;filter: drop-shadow(-1px 1px 1px #ffffff)drop-shadow(0px -1px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)">
<p><span style="color:#3d46f7;"><span style="font-family:微软雅黑;"><span style="font-size:24px;"></span></span></span></p></div>

<audio id="aud" src="" autoplay loop></audio>
</div>

<script>
(function() {
        let slip = 0.5, mFlag = true, mKey = 0, clickIdx = 0, progChg = 0, cursors = ['default','pointer','pointer'];
let lrcAr = [
,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
       
];
        let toMin = (val) => {if (!val) return '00:00';val = Math.floor(val);let min = parseInt(val / 60), sec = parseFloat(val % 60);if (min < 10) min = '0' + min;if (sec < 10) sec = '0' + sec;return min + ':' + sec;};
        let calcKey = () => {for (j = 0;j < lrcAr.length;j++) {if (aud.currentTime <= lrcAr) {mKey = j - 1;break;}}if (mKey < 0) mKey = 0;if (mKey > lrcAr.length - 1) mKey = lrcAr.length - 1;let time = lrcAr - (aud.currentTime - lrcAr);showLrc(time);};
        let mState = () => aud.paused ? (papa.style.setProperty('--state', 'paused') ) : (papa.style.setProperty('--state','running'));
        let showLrc = (time) => {lrc.style.setProperty('--motion', mFlag ? 'cover1' : 'cover2');lrc.style.setProperty('--geci', '"' + lrcAr + '"');lrc.style.setProperty('--tt', time + 's');mKey += 1;mFlag = !mFlag;};
        aud.addEventListener('play', mState, false);
        aud.addEventListener('pause', mState, false);
        aud.addEventListener('seeked', () => calcKey());
        aud.addEventListener('timeupdate', () => {for (j = 0; j < lrcAr.length; j++) {if (aud.currentTime - slip >= lrcAr) {cKey = j;if (mKey === j) showLrc(lrcAr);else continue;}}mplayer.style.setProperty('--ttmsg1', `'${toMin(aud.currentTime)}'`);mplayer.style.setProperty('--ttmsg2', `'${toMin(aud.duration-aud.currentTime)}'`);mplayer.style.setProperty('--prog',`${100 * aud.currentTime / aud.duration}%`);});
        mplayer.onclick = () => {if(clickIdx === 1) aud.paused ? aud.play() : aud.pause();if(clickIdx === 2) aud.currentTime = progChg;};
        mplayer.onmousemove = (e) => {let size = parseInt(window.getComputedStyle(mplayer).getPropertyValue('--size')), ww = mplayer.offsetWidth, hh = mplayer.offsetHeight;clickIdx = e.offsetY > hh/1.5 ? 2 : (e.offsetX > (ww - size)/2 && e.offsetX < (ww + size)/2 && e.offsetY < hh/1.5 ? 1 : 0);mplayer.style.cursor = cursors;if(clickIdx > 1) progChg = aud.duration * e.offsetX / ww;};
})();

(function() {
    let vid = document.querySelector('.vid');
    let script = document.createElement('script');
    script.src = 'https://unpkg.com/css-doodle@0.34.8/css-doodle.min.js';
    document.head.appendChild(script);
    let mState = () => aud.paused ? (papa.style.setProperty('--state', 'paused'), vid.pause()) : (papa.style.setProperty('--state', 'running'), vid.play());   
    aud.addEventListener('play', mState, false);
    aud.addEventListener('pause', mState, false);
    mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
})();
</script>
</td></tr></table>

樵歌 发表于 2023-5-29 13:10

奇怪了,没听到声音{:4_198:}

樵歌 发表于 2023-5-29 13:12

手使劲按在那风车播放器上,无用{:4_203:}

有声有色 发表于 2023-5-29 13:15

樵歌 发表于 2023-5-29 13:12
手使劲按在那风车播放器上,无用

不好意思我借用了这段音画,主要是讲PS一抹就能去掉不想要的东西,而且在原图上根本看不出来

梦缘 发表于 2023-5-29 16:22

欣赏老师的神奇,感谢分享!

樵歌 发表于 2023-5-29 17:29

有声有色 发表于 2023-5-29 13:15
不好意思我借用了这段音画,主要是讲PS一抹就能去掉不想要的东西,而且在原图上根本看不出来

原来这样呵

红影 发表于 2023-5-29 20:44

的确可以抹掉文字和人物,真神奇{:4_187:}

小文 发表于 2023-5-29 21:28

好玩

有声有色 发表于 2023-5-30 08:02

梦缘 发表于 2023-5-29 16:22
欣赏老师的神奇,感谢分享!

谢谢鼓励

有声有色 发表于 2023-5-30 08:03

红影 发表于 2023-5-29 20:44
的确可以抹掉文字和人物,真神奇

现在的PS功能越来越强大了,而且操作越来越简单。

有声有色 发表于 2023-5-30 08:04

小文 发表于 2023-5-29 21:28
好玩

谢谢鼓励

红影 发表于 2023-5-30 16:40

有声有色 发表于 2023-5-30 08:03
现在的PS功能越来越强大了,而且操作越来越简单。

我不会PS呢,这个能做在帖子里,厉害了。
页: [1]
查看完整版本: 神奇的PS一抹就没了