第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SGV 梯度在停止處變暗

SGV 梯度在停止處變暗

慕標(biāo)琳琳 2024-01-03 17:36:25
我正在嘗試制作一個(gè)行星的球形圖像,其夜面處于陰影中,以便在瀏覽器中渲染為模擬網(wǎng)頁,但我一直在與一個(gè)奇怪的視覺問題作斗爭,我似乎無法弄清楚。下面是在 Chrome 中顯示的 SVG 圖像片段(IE 中也會(huì)出現(xiàn)這種情況),然后放大 3 倍:您會(huì)注意到,在晝/夜明暗界線上方,有一條微弱的深色水平帶,其寬度約為明暗界線上方距離的 1/3。那不應(yīng)該在那里,我不明白為什么它在那里或如何擺脫它。(如果您愿意,可以將其保存到 HTML ( .html) 文件(添加 html 和 body 標(biāo)簽),然后在瀏覽器中運(yùn)行以查看它?;蛘邔⑵浔4娴?SVG 文件 ( .svg),然后刪除div 和 br 標(biāo)簽,如果你想在上面使用任何 SVG 工具。此偽影正好發(fā)生在線性漸變停止點(diǎn)之一的位置,特別#stopEaDusk是在線性漸變中的第 33 行#lgdEaNightSide,該漸變被用作覆蓋路徑的填充#pNight。這種偽影可能看起來非常微弱,但它是真實(shí)的,并且在未縮小 300% 時(shí)更加明顯。我實(shí)際的 SVG 還有一個(gè)免費(fèi)的#pDay覆蓋層,我將其刪除以簡化代碼。但是當(dāng)它被添加時(shí),我得到了三個(gè)暗帶偽像,一個(gè)在上面,一個(gè)在另一側(cè)的相應(yīng)位置(我有另一個(gè)黎明/黃昏停止點(diǎn)),一個(gè)在兩個(gè)疊加層相遇的中點(diǎn)。當(dāng)它們?nèi)齻€(gè)都可見時(shí),看起來很可怕,所以我不能忽視它。其他要點(diǎn):據(jù)我所知,這不僅僅是這里所建議的視覺錯(cuò)覺,因?yàn)榧词贡徽匀淮嬖?。如果是的話,我仍然需要修?fù)它。我不相信這是這個(gè)答案中建議的這個(gè)舊的 Chrome 錯(cuò)誤,因?yàn)樗雌饋聿煌?,但主要是因?yàn)槲乙苍?IE 中看到它(盡管它可能更微弱)。tl,dr:是什么導(dǎo)致了這個(gè)黑帶?我怎樣才能擺脫它?對于這里的問題似乎有些混亂,所以請?jiān)试S我澄清一下。線性梯度lgdEaNightSide是為了顯式效果而編寫的,它似乎正在這樣做,但它也產(chǎn)生了不希望的副作用,而且據(jù)我對 SVg 的最佳理解不應(yīng)該發(fā)生。期望的效果是 pNight 疊加添加: 1. 70% 黑暗,在其弧線頂部(非常高且超出屏幕),平滑地著色到 99% 向下的 60% 黑暗。2. 然后快速從 60% 暗度 99% 下降到 50% 暗度 100% 下降。這是為了提供一個(gè)類似黃昏的過渡區(qū)域。然而,除此之外,它還增加了不需要的效果: - 在下降到大約 98.8% 時(shí),它突然變暗 - 然后在下降到大約 99.2% 時(shí),它突然再次變亮。這不應(yīng)該發(fā)生,據(jù)我所知,我編寫的 SVG 不應(yīng)該這樣做。我正在尋找的是如何保持第一個(gè)(所需的)效果,同時(shí)消除第二個(gè)(不需要的)效果。我不需要被告知第二站導(dǎo)致了問題。我知道,我在上面說過了,并且在代碼注釋中指出了這一點(diǎn)。我不需要答案來告訴我我已經(jīng)知道的事情。我正在尋找的是:如何修復(fù)它,同時(shí)保留我最初編寫它的視覺效果,以及為什么會(huì)發(fā)生這種情況,據(jù)我所知,它不應(yīng)該發(fā)生。
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

代碼沒有任何問題。

條帶的存在是因?yàn)轱@示器沒有足夠的顏色來表示細(xì)微的變化。您正在嘗試在大面積上更改 10% 的不透明度,這對于大多數(shù)顯示器來說是不可能的。

您可以通過切換屏幕來確定這是顯示器問題。根據(jù)顯示器的質(zhì)量和像素密度,您會(huì)看到略有不同的結(jié)果。一些瀏覽器使用抖動(dòng),這會(huì)減少色帶并犧牲像素化。

解決這個(gè)問題的唯一方法是引入更多的顏色變化,就像普林斯所說的那樣。

如果您想讓當(dāng)前的 24 位彩色顯示器變得不那么明顯,您可以:

  • 更改您的設(shè)計(jì),在漸變中引入微妙的顏色變化(例如從深藍(lán)色到灰綠色)。這會(huì)導(dǎo)致不同的 RGB 通道位可以在不同的時(shí)間轉(zhuǎn)換,從而將您的色帶分解為較小的差異化顏色。

  • 更改您的設(shè)計(jì)以增加動(dòng)態(tài)范圍(例如從純白色到純黑色),以便您可以使用更多顏色條。

  • 更改您的設(shè)計(jì)以減少漸變發(fā)生的總距離,從而減少帶的寬度。

......或以上的某種組合。

我實(shí)施了這個(gè)策略,但它并不完美。如果你真的想擺脫色帶,你將不得不做出其他權(quán)衡。例如,您可能無法使用純黑色。

<div style="position:absolute; z-index:1; margin:15px;?

? ? ? ? ? ? width:640px; height:640px;?

? ? ? ? ? ? background-color:#0c0c26">


? <svg id="svgEa" style="width:100%; height:100%;" viewBox="-5000 -5000 10000 10000" preserveAspectRatio="xMidYMid meet" clip-path="url(#svgEaClip)" transform="scale(1.0,1.0)" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

? ? ? ? ? ? ? ? <!-- NOTE: All internal units are in KM (or %)? -->

? ??

? ? ? ? ? ? ? ? <defs id="defsEa">

? ? ? ? ? ? ? ? ? ? <clipPath id="svgEaClip">

? ? ? ? ? ? ? ? ? ? ? ? <rect width="100%" height="100%" />

? ? ? ? ? ? ? ? ? ? </clipPath>

? ? ? ? ? ? ? ? ? ? <linearGradient id="lgdEaSphere">

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#ffffff;stop-opacity:1.00;" offset="0.00" id="stopEarthCenter" />

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#dfffef;stop-opacity:1.00" offset="0.30" id="stopEarthInner" />

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#91ffc8;stop-opacity:1.00" offset="0.31" id="stopEarthMid" />

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#00A064;stop-opacity:1.00" offset="0.95264" id="stopEarthOuter" />

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#44ffff;stop-opacity:0.66" offset="0.95264" id="stopAirInner" />

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#44ffff;stop-opacity:0.10" offset="1.00" id="stopAirOuter"? />

? ? ? ? ? ? ? ? ? ? </linearGradient>

? ? ? ? ? ? ? ? ? ? <radialGradient id="rgdEaSphere"? xlink:href="#lgdEaSphere"

? ? ? ? ? ? ? ? ? ? ? ? gradientUnits="userSpaceOnUse"

? ? ? ? ? ? ? ? ? ? ? ? cx="0" cy="0"

? ? ? ? ? ? ? ? ? ? ? ? fx="0" fy="0"

? ? ? ? ? ? ? ? ? ? ? ? r="3339.05"?

? ? ? ? ? ? ? ? ? ? ? ? />

? ??

? ? ? ? ? ? ? ? ? ? <linearGradient id="lgdEaNightSide" x1="0%" y1="0%" x2="0%" y2="100%" spreadMethod="pad">

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#00033e;stop-opacity:0.7;" offset="0.00" id="stopEaMidnight"></stop>

? ? ? ? ? ? ? ? ? ? ? ? <!-- this stop seems to cause the artifact -->

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#090d24;stop-opacity:0.6;" offset="0.99" id="stopEaDusk"></stop>?

? ? ? ? ? ? ? ? ? ? ? ? <stop style="stop-color:#000;stop-opacity:0.5;" offset="1.00" id="stopEaTerminator"></stop>

? ? ? ? ? ? ? ? ? ? </linearGradient>

? ? ? ? ? ? ? ? </defs>

? ??

? ? ? ? ? ? ? ? <g id="gEaAll" transform="scale(1.2,1.2)" >

? ? ? ? ? ? ? ? ? ? <g id="gEaSunFacing" >

? ? ? ? ? ? ? ? ? ? ? ? <!-- contains everything that stays oriented with the Sun -->

? ? ? ? ? ? ? ? ? ? ? ? <circle

? ? ? ? ? ? ? ? ? ? ? ? ? ? id="cEarthAir"

? ? ? ? ? ? ? ? ? ? ? ? ? ? cx="0" cy="0" r="3339.05"

? ? ? ? ? ? ? ? ? ? ? ? ? ? style="display:inline;fill-opacity:1;fill:url(#rgdEaSphere)" />

? ? ? ? ? ? ? ? ? ? ? ? <!--? overlay to give Earth a night side.? -->

? ? ? ? ? ? ? ? ? ? ? ? <path id="pNight"?

? ? ? ? ? ? ? ? ? ? ? ? ? ? style="stroke:none; fill:url(#lgdEaNightSide)"

? ? ? ? ? ? ? ? ? ? ? ? ? ? d="M -3189.05,0?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? A 3189.05,15945.25 0 1,1 3189.05,0

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Z"?

? ? ? ? ? ? ? ? ? ? ? ? ? ? />

? ? ? ? ? ? ? ? ? ? </g>

? ? ? ? ? ? ? ? </g>

? ??

? ? ? ? ? ? </svg>


</div>


查看完整回答
反對 回復(fù) 2024-01-03
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

這是因?yàn)槟诏B加的漸變中使用了額外的停止值。當(dāng)您lgdEaNightSide在疊加中使用線性漸變()來給地球一個(gè)夜晚的一面時(shí),如下所示。


您可以看到您正在使用兩個(gè)偏移值,一個(gè)at 0.99和另一個(gè)at 1。這就是你的地平帶變得微弱、較暗的原因。


<linearGradient id="lgdEaNightSide" x1="0%" y1="0%" x2="0%" y2="100%" spreadMethod="pad">

  <stop style="stop-color:#000000;stop-opacity:0.7;" offset="0.00" id="stopEaMidnight" />

  <!-- this stop seems to cause the artifact -->

  <stop style="stop-color:#000000;stop-opacity:0.6;" offset="0.99" id="stopEaDusk" />

  <stop style="stop-color:#000000;stop-opacity:0.5;" offset="1.00" id="stopEaTerminator" />

</linearGradient>

只需刪除一個(gè)額外的停止值即可工作,請?jiān)谙旅嬲业焦ぷ鞔a:


<div style="position:absolute; z-index:1; margin:15px; 

    width:640px; height:640px; 

    background-color:black">


  <svg id="svgEa" style="width:100%; height:100%;" viewBox="-5000 -5000 10000 10000" preserveAspectRatio="xMidYMid meet" clip-path="url(#svgEaClip)" transform="scale(1.0,1.0)" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

      <!-- NOTE: All internal units are in KM (or %)  -->


      <defs id="defsEa">

        <clipPath id="svgEaClip">

          <rect width="100%" height="100%" />

        </clipPath>

        <linearGradient id="lgdEaSphere">

          <stop style="stop-color:#ffffff;stop-opacity:1.00;" offset="0.00"

                id="stopEarthCenter" />

          <stop style="stop-color:#dfffef;stop-opacity:1.00" offset="0.30"

                id="stopEarthInner" />

          <stop style="stop-color:#91ffc8;stop-opacity:1.00" offset="0.31"

                id="stopEarthMid" />

          <stop style="stop-color:#00A064;stop-opacity:1.00" offset="0.95264"

                id="stopEarthOuter" />

          <stop style="stop-color:#44ffff;stop-opacity:0.66" offset="0.95264"

                id="stopAirInner" />

          <stop style="stop-color:#44ffff;stop-opacity:0.10" offset="1.00"

                id="stopAirOuter" />

        </linearGradient>

        <radialGradient id="rgdEaSphere" xlink:href="#lgdEaSphere"

                        gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0"

                        fy="0" r="3339.05" />


        <linearGradient id="lgdEaNightSide" x1="0%" y1="0%" x2="0%" y2="100%"

                        spreadMethod="pad">

          <stop style="stop-color:#000000;stop-opacity:0.7;" offset="0.00"

                id="stopEaMidnight" />

          <!-- this stop seems to cause the artifact -->

          <stop style="stop-color:#000000;stop-opacity:0.5;" offset="1.00"

                id="stopEaTerminator" />

        </linearGradient>

      </defs>


      <g id="gEaAll" transform="scale(1.2,1.2)">

        <g id="gEaSunFacing">

          <!-- contains everything that stays oriented with the Sun -->

          <circle id="cEarthAir" cx="0" cy="0" r="3339.05"

                  style="display:inline;fill-opacity:1;fill:url(#rgdEaSphere)" />

          <!--  overlay to give Earth a night side.  -->

          <path id="pNight" style="stroke:none; fill:url(#lgdEaNightSide)" d="M -3189.05,0 

                        A 3189.05,15945.25 0 1,1 3189.05,0

                        Z" />

        </g>

      </g>


    </svg>


</div>


查看完整回答
反對 回復(fù) 2024-01-03
  • 2 回答
  • 0 關(guān)注
  • 218 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號