利用CSS油漆API的力量來召喚生成斑點!本教程探討了使用Houdini家族的一部分CSS Paint API的定制,隨機斑點形狀的創建。我們將建立一個生成的斑點工作點,利用JavaScript和CSS自定義屬性來控制和響應能力。
生成設計引入了機會元素,定義規則並讓隨機性指導結果。將其視為使用郵票和骰子來創建獨特的模式 - 我們將使用代碼使用類似的原理。 CSS Paint API提供了對CSS的低水平訪問權限,從而可以通過JavaScript Worklets創建編程圖像。 Worklet是一個帶有paint()
函數的JavaScript類,可為CSS屬性生成圖像。
我們將構建一個生成的Blob Worklet,接受CSS自定義屬性作為控制其外觀的輸入。這提供了一種表演劑,乾淨的方法,避免了雜物。該工作點在單獨的線程上運行,以防止UI放緩。
這是工作人員功能的預覽:
- 作為背景圖像: Blob Worklet動態生成背景圖像,無縫地調整元素調整大小和自定義屬性更改。
- 生成圖像面具:工作點充當面具,為設計添加了獨特的有機曲線。不斷變化的性質使UI保持新鮮。
儘管存在創建斑點的其他方法(例如Blobmaker, border-radius
),但CSS Paint API提供了出色的表現力和性能。它允許通過CSS自定義屬性( --blob-seed
, --blob-num-points
, --blob-variance
, --blob-smoothness
, --blob-fill
)進行精確控制,而不是手動調整。 API的多線程自然可以確保即使具有復雜的生成視覺效果,也可以確保閃耀的性能。
瀏覽器支持和多填充: CSS Paint API享有越來越多的支持,但並不普遍。我們將使用css-paint-polyfill
來確保使用@supports
探索優雅的後備機制。
開發設置:一個簡單的開發環境(使用npm install
和npm run start
在克隆的工作點啟動式存儲庫上),以便於易於開發和實時重新加載。此設置處理HTTPS或Local主機服務,以防止CORS問題。
工作點實施:
-
初始化:
Blob
類定義並在registerPaint("blob", Blob)
中註冊。 -
paint()
函數:此功能接收2D圖形上下文(ctx
),元素幾何(geometry
)和自定義屬性(properties
)。 -
輸入屬性:
inputProperties
Getter定義了工作場所接受的自定義屬性。 -
屬性解析:輔助功能(
propToString
,propToNumber
)分析自定義屬性值。 -
偽數數生成:
mulberry32
PRNG確保基於種子值(--blob-seed
)的一致隨機性。這避免了視覺閃爍的重新租賃。 -
斑點的生成:斑點的形狀是通過繪製圓圈周圍的點,隨機調整其向中心的位置而創建的,並通過它們繪製catmull-rom樣條。
lerp
功能有助於此調整。spline
函數(來自@georgedoescode/generative-utils
)生成平滑曲線。 -
隨機種子:種子值使用
document.querySelector(".worklet-canvas").style.setProperty("--blob-seed", Math.random() * 10000);
對於每個頁面上的變化斑點形狀。 - Polyfill&Hallback:使用
CSS["paintWorklet"]
檢查和@supports
規則為不支持的瀏覽器提供@supports規則提供@supports規則,為多文件加載。
該全面的指南使您使用CSS Paint API創建動態和視覺上吸引人的生成斑點。嘗試自定義屬性,以微調斑點的外觀並探索其在UI設計中的不同應用。
以上是與CSS油漆API結合生成斑點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

學習如何構建GraphQL API可能具有挑戰性。但是您可以學習如何在10分鐘內使用GraphQL API!碰巧的是,我得到了完美的

這裡是Yuanchuan的一些合法CSS騙局。有此CSS屬性偏移路徑。曾幾何時,它被稱為Motion-Path,然後被更名。我


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。