• \n
    <\/div>\n\n \n \n <\/body>\n <\/html><\/pre>\n

    然後,您應(yīng)該創(chuàng)建一個(gè)舞臺(tái)並在其中繪製一些內(nèi)容,例如矩形、圓形或其他形狀:<\/p>\n

     \/\/ 創(chuàng)建舞臺(tái)\n var stage = acgraph.create('stage-container');\n \/\/ 繪制矩形\n var stage.rect(25, 50, 350, 300);<\/pre>\n

    以下是 CodePen 上的示例,我們?cè)谄渲懈M(jìn)一步並繪製了死亡聖器符號(hào)。 <\/p>\n

    我們的第一幅傑作<\/h2>\n

    填充、描邊和圖案填充<\/h3>\n

    可以使用填充設(shè)置和描邊設(shè)置對(duì)任何形狀或路徑進(jìn)行著色。所有內(nèi)容都有描邊(邊框),但只有形狀和閉合路徑才有填充。填充和描邊設(shè)置非常豐富,您可以將線性或圓形漸變用於填充和描邊。此外,線條可以是虛線的,並且支持具有多種平鋪模式的圖像填充。但這都是您幾乎可以在任何庫(kù)中都能找到的相當(dāng)標(biāo)準(zhǔn)的內(nèi)容。使 GraphicsJS 具有特殊性的是其網(wǎng)格和圖案填充功能,它不僅允許您直接使用 32 種(!) 可用的網(wǎng)格填充圖案,還允許您輕鬆創(chuàng)建由形狀或文本組成的自定義圖案。 <\/p>\n

    現(xiàn)在,讓我們看看究竟可以實(shí)現(xiàn)什麼!我將繪製一幅男人站在房子附近的簡(jiǎn)筆劃,然後用不同的圖案和顏色填充來(lái)增強(qiáng)它。為了簡(jiǎn)單起見(jiàn),讓我們把它做成一幅幼稚的藝術(shù)畫(huà)(並儘量不要涉及到藝術(shù)粗野)。就是這樣:<\/p>\n

     \/\/ 創(chuàng)建舞臺(tái)\n var stage = acgraph.create('stage-container');\n\n \/\/ 繪制框架\n var frame = stage.rect(25, 50, 350, 300);\n\n \/\/ 繪制房子\n var walls = stage.rect(50, 250, 200, 100);\n var roof  = stage.path()\n   .moveTo(50, 250)\n   .lineTo(150, 180)\n   .lineTo(250, 250)\n   .close();\n\n \/\/ 繪制一個(gè)人\n var head = stage.circle(330, 280, 10);\n var neck = stage.path().moveTo(330, 290).lineTo(330, 300);\n var kilt = stage.triangleUp(330, 320, 20);\n var rightLeg = stage.path().moveTo(320, 330).lineTo(320, 340);\n var leftLeg = stage.path().moveTo(340, 330).lineTo(340, 340);<\/pre>\n

    查看 CodePen 上的結(jié)果。 <\/p>\n

    如您所見(jiàn),我們現(xiàn)在正在使用變量——所有在舞臺(tái)上繪製內(nèi)容的方法都會(huì)返回對(duì)所創(chuàng)建對(duì)象的引用,並且此鏈接可用於更改或刪除對(duì)象。 <\/p>\n

    還要注意鍊式調(diào)用(例如 stage.path().moveTo(320, 330).lineTo(320, 340);<\/code>)如何在 GraphicsJS 中隨處可見(jiàn),它有助於縮短代碼。鍊式調(diào)用應(yīng)謹(jǐn)慎使用,但如果應(yīng)用得當(dāng),它確實(shí)使代碼更緊湊且更易於閱讀。 <\/p>

    現(xiàn)在,讓我們把這個(gè)塗色頁(yè)交給一個(gè)孩子,讓他們來(lái)塗色。因?yàn)榧词故呛⒆右材苷莆找韵录夹g(shù):<\/p>\n

     \n \n \n   \n   GraphicsJS Basic Example<\/title>    \n <\/head>\n <body>
    <h1><a href="http://miracleart.cn/">国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂</a></h1>\n   <div   class="377j5v51b"   id=\"stage-container\" style=\"width: 400px; height: 375px;\"><\/div>\n\n   <??>\n   <??>\n <\/body>\n <\/html><\/pre>\n<p>這就是我們示例現(xiàn)在的外觀。 <\/p>\n<p>現(xiàn)在,我們有一幅高地人在蘇格蘭短裙旁邊,他站在他的磚砌城堡附近,屋頂是稻草的圖片。我們甚至可以冒險(xiǎn)說(shuō)這確實(shí)是一件我們想要獲得版權(quán)的<em>藝術(shù)品<\/em>。讓我們使用基於自定義文本的圖案填充來(lái)做到這一點(diǎn):<\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 創(chuàng)建舞臺(tái)\n var stage = acgraph.create('stage-container');\n \/\/ 繪制矩形\n var stage.rect(25, 50, 350, 300);<\/pre>\n<p>如您所見(jiàn),這很容易做到:您創(chuàng)建一個(gè)文本對(duì)象的實(shí)例,然後在舞臺(tái)上形成一個(gè)圖案,並將文本放入圖案中。 <\/p>\n<p>查看 CodePen 上的彩色版權(quán)房屋\/graphicsjs。 <\/p>\n<h2>在不到 50 行代碼中創(chuàng)建一個(gè)益智藝術(shù)遊戲<\/h2>\n<p>在本文的下一部分,我想向您展示如何在不到 50 行代碼中使用 GraphicsJS 創(chuàng)建一個(gè)類似 Cookie Clicker 的遊戲。 <\/p>\n<p>遊戲名稱為<em>“風(fēng)中清掃街道”<\/em>,玩家扮演一名清道夫的角色,在秋天的多風(fēng)下午清掃街道。該遊戲使用 GraphicsJS 圖庫(kù)中程序生成的葉子示例中的一些代碼。 <\/p>\n<p>您可以在 CodePen(或文章結(jié)尾)上查看完成的遊戲。 <\/p>\n<h3>圖層、zIndex 和虛擬 DOM<\/h3>\n<p>我們首先創(chuàng)建一個(gè)舞臺(tái)(如前所述),然後聲明一些初始變量:<\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 創(chuàng)建舞臺(tái)\n var stage = acgraph.create('stage-container');\n\n \/\/ 繪制框架\n var frame = stage.rect(25, 50, 350, 300);\n\n \/\/ 繪制房子\n var walls = stage.rect(50, 250, 200, 100);\n var roof  = stage.path()\n   .moveTo(50, 250)\n   .lineTo(150, 180)\n   .lineTo(250, 250)\n   .close();\n\n \/\/ 繪制一個(gè)人\n var head = stage.circle(330, 280, 10);\n var neck = stage.path().moveTo(330, 290).lineTo(330, 300);\n var kilt = stage.triangleUp(330, 320, 20);\n var rightLeg = stage.path().moveTo(320, 330).lineTo(320, 340);\n var leftLeg = stage.path().moveTo(340, 330).lineTo(340, 340);<\/pre>\n<p>對(duì)於這個(gè)遊戲,我們將使用圖層——GraphicsJS 中用於對(duì)元素進(jìn)行分組的對(duì)象。如果您想對(duì)元素應(yīng)用類似的更改(例如轉(zhuǎn)換),則必須對(duì)元素進(jìn)行分組。您可以在暫停模式下更改圖層(稍後將詳細(xì)介紹),這可以提高性能和用戶體驗(yàn)。 <\/p>\n<p>在此演示中,我們使用圖層功能來(lái)幫助我們將葉子組合在一起,並避免它們覆蓋標(biāo)籤(它告訴我們清掃了多少葉子)。為此,我們創(chuàng)建一個(gè)標(biāo)籤,然後調(diào)用 <code>stage.layer<\/code> 方法,該方法創(chuàng)建舞臺(tái)綁定圖層。我們將此圖層的 <code>zIndex<\/code> 屬性設(shè)置為低於標(biāo)籤的 <code>zIndex<\/code> 屬性。 <\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 給圖片著色\n \/\/ 精美的框架\n frame.stroke([\"red\", \"green\", \"blue\"], 2, \"2 2 2\");\n \/\/ 磚墻\n walls.fill(acgraph.hatchFill('horizontalbrick'));\n \/\/ 草屋頂\n roof.fill(\"#e4d96f\");\n \/\/ 格子呢裙\n kilt.fill(acgraph.hatchFill('plaid'));<\/pre>\n<p>執(zhí)行此操作後,無(wú)論我們?cè)趫D層中創(chuàng)建多少葉子,我們都可以確保它們不會(huì)覆蓋文本。 <\/p>\n<h3>轉(zhuǎn)換<\/h3>\n<p>接下來(lái),讓我們添加一個(gè)函數(shù)來(lái)繪製我們的葉子。這將使用方便的 GraphicsJS 轉(zhuǎn)換 API,該 API 允許您移動(dòng)、縮放、旋轉(zhuǎn)和剪切元素和元素組。當(dāng)與圖層和虛擬 DOM 結(jié)合使用時(shí),這是一個(gè)非常強(qiáng)大的工具。 <\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 169 是版權(quán)符號(hào)的字符代碼\n var  text = acgraph.text().text(String.fromCharCode(169)).opacity(0.2);\n var  pattern_font = stage.pattern(text.getBounds());\n pattern_font.addChild(text);\n \/\/ 用圖案填充整個(gè)圖像\n frame.fill(pattern_font);<\/pre>\n<p>您會(huì)看到每個(gè)路徑的創(chuàng)建方式相同,但隨後會(huì)進(jìn)行轉(zhuǎn)換。這將產(chǎn)生非常漂亮的隨機(jī)葉子圖案。 <\/p>\n<h3>處理事件<\/h3>\n<p>GraphicsJS 中的任何對(duì)象、舞臺(tái)和圖層都可以處理事件。支持的事件的完整列表可在 EventType API 中找到。舞臺(tái)有四個(gè)特殊的事件來(lái)控制渲染。 <\/p><p>在這個(gè)遊戲示例中,我們正在使用附加到葉子對(duì)象的事件偵聽(tīng)器,以便用戶將鼠標(biāo)懸停在它們上時(shí),它們會(huì)一個(gè)接一個(gè)地消失。為此,請(qǐng)將以下代碼添加到 <code>drawLeaves<\/code> 函數(shù)的底部,在 <code>return<\/code> 語(yǔ)句之前:<\/p>\n<pre class='brush:php;toolbar:false;'> <!DOCTYPE html>\n <html lang=\"en\">\n <head>\n   <meta charset=\"utf-8\" \/>\n   <title>GraphicsJS Basic Example<\/title>    \n <\/head>\n <body>\n   <div   class="377j5v51b"   id=\"stage-container\" style=\"width: 400px; height: 375px;\"><\/div>\n\n   <??>\n   <??>\n <\/body>\n <\/html><\/pre>\n<p>在這裡,我們還可以看到我們正在使用圖層來(lái)計(jì)算葉子。 <\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 創(chuàng)建舞臺(tái)\n var stage = acgraph.create('stage-container');\n \/\/ 繪制矩形\n var stage.rect(25, 50, 350, 300);<\/pre>\n<p>請(qǐng)注意,我們實(shí)際上並沒(méi)有在這裡存儲(chǔ)葉子的數(shù)量。由於我們將葉子添加到特定圖層並從中刪除葉子,因此這使我們能夠跟蹤我們有多少個(gè)子元素(以及因此還剩下多少葉子)。 <\/p>\n<p>GraphicsJS 提供了一個(gè)虛擬 DOM,它是 HTML DOM 的抽象,輕量級(jí)且與瀏覽器特定的 SVG\/VML 實(shí)現(xiàn)分離。它對(duì)於執(zhí)行許多偉大的事情非常有用,例如跟蹤所有對(duì)象和圖層,對(duì)組應(yīng)用轉(zhuǎn)換以及在幫助下優(yōu)化渲染允許我們跟蹤和控制渲染過(guò)程的方法。 <\/p>\n<h3>性能優(yōu)化<\/h3>\n<p>虛擬 DOM 以及事件處理程序允許 GraphicsJS 用戶控制渲染。性能文章可以幫助您了解這些內(nèi)容之間的關(guān)係。 <\/p>\n<p>在遊戲中生成葉子時(shí),我們需要在添加新葉子時(shí)暫停渲染,並且只有在所有更改完成後才恢復(fù)渲染:<\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 創(chuàng)建舞臺(tái)\n var stage = acgraph.create('stage-container');\n\n \/\/ 繪制框架\n var frame = stage.rect(25, 50, 350, 300);\n\n \/\/ 繪制房子\n var walls = stage.rect(50, 250, 200, 100);\n var roof  = stage.path()\n   .moveTo(50, 250)\n   .lineTo(150, 180)\n   .lineTo(250, 250)\n   .close();\n\n \/\/ 繪制一個(gè)人\n var head = stage.circle(330, 280, 10);\n var neck = stage.path().moveTo(330, 290).lineTo(330, 300);\n var kilt = stage.triangleUp(330, 320, 20);\n var rightLeg = stage.path().moveTo(320, 330).lineTo(320, 340);\n var leftLeg = stage.path().moveTo(340, 330).lineTo(340, 340);<\/pre>\n<p>這種處理新元素的方法使新葉子幾乎可以立即出現(xiàn)。 <\/p>\n<p>最後,通過(guò)調(diào)用 <code>shakeTree()<\/code> 來(lái)啟動(dòng)所有內(nèi)容。 <\/p>\n<pre class='brush:php;toolbar:false;'> \/\/ 給圖片著色\n \/\/ 精美的框架\n frame.stroke([\"red\", \"green\", \"blue\"], 2, \"2 2 2\");\n \/\/ 磚墻\n walls.fill(acgraph.hatchFill('horizontalbrick'));\n \/\/ 草屋頂\n roof.fill(\"#e4d96f\");\n \/\/ 格子呢裙\n kilt.fill(acgraph.hatchFill('plaid'));<\/pre>\n<h3>最終結(jié)果<\/h3>\n<p>查看 CodePen 上的街道清掃工\/graphicsjs。 <\/p>\n<h2>結(jié)論<\/h2>\n<p>向 HTML5 的轉(zhuǎn)變改變了網(wǎng)絡(luò)。當(dāng)涉及到現(xiàn)代 Web 應(yīng)用程序甚至簡(jiǎn)單的網(wǎng)站時(shí),我們經(jīng)常會(huì)遇到需要圖像處理的任務(wù)。雖然不可能找到在每種情況下都能很好工作的解決方案,但您應(yīng)該考慮 GraphicsJS 庫(kù)。它是開(kāi)源的、健壯的,具有出色的瀏覽器支持和許多使其有趣、方便且當(dāng)然有用的功能。 <\/p>\n<p>我很樂(lè)意在下面的評(píng)論中聽(tīng)到您對(duì) GrphicsJS 的反饋。您是否已經(jīng)在使用它?您是否會(huì)考慮將其用於新項(xiàng)目?我很想知道原因,或者為什麼不使用它。我還正在編寫(xiě)主要 JavaScript 繪圖庫(kù)列表以及將比較和對(duì)比所有這些庫(kù)的文章。也可以隨意指出您希望在那裡看到的功能。 <\/p>\n<h2>進(jìn)一步閱讀的鏈接<\/h2>\n<ul>\n<li>常規(guī)信息<ul>\n<li>SVG<\/li>\n<li>Canvas<\/li>\n<li>SVG 與 Canvas<\/li>\n<\/ul>\n<\/li>\n<li>庫(kù)<ul>\n<li>GraphicsJS<\/li>\n<li>Rapha?l<\/li>\n<li>Snap.svg<\/li>\n<li>BonsaiJS<\/li>\n<\/ul>\n<\/li>\n<li>GraphicsJS<ul>\n<li>GitHub 上的 GraphicsJS<\/li>\n<li>GraphicsJS 文檔<\/li>\n<li>GraphicsJS API 參考<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>關(guān)於 GraphicsJS 的常見(jiàn)問(wèn)題<\/h2>\n<h3>GraphicsJS 與其他 JavaScript 圖形庫(kù)有何不同? <\/h3>\n<p>GraphicsJS 因其強(qiáng)大且輕量級(jí)的特性而脫穎而出。它是一個(gè)強(qiáng)大的庫(kù),允許開(kāi)發(fā)人員以高精度和高性能繪製和動(dòng)畫(huà)化任何圖形。與其他庫(kù)不同,GraphicsJS 提供了一套全面的功能,包括圖層、漸變、圖案等等,而不會(huì)影響速度或效率。它還支持所有現(xiàn)代瀏覽器,使其成為開(kāi)發(fā)人員的多功能選擇。 <\/p>\n<h3>如何開(kāi)始使用 GraphicsJS? <\/h3>\n<p>要開(kāi)始使用 GraphicsJS,您需要在 HTML 文件中包含 GraphicsJS 庫(kù)。您可以從官方網(wǎng)站下載該庫(kù),也可以使用 CDN。包含該庫(kù)後,您可以通過(guò)調(diào)用該庫(kù)提供的適當(dāng)函數(shù)和方法來(lái)開(kāi)始創(chuàng)建圖形。 <\/p>\n<h3>我可以使用 GraphicsJS 創(chuàng)建複雜的動(dòng)畫(huà)嗎? <\/h3>\n<p>是的,GraphicsJS 旨在輕鬆處理複雜的動(dòng)畫(huà)。它提供了一套豐富的動(dòng)畫(huà)功能,包括緩動(dòng)函數(shù)、延遲和持續(xù)時(shí)間設(shè)置。您可以動(dòng)畫(huà)化圖形的任何屬性,例如其位置、大小、顏色等等。這使得 GraphicsJS 成為創(chuàng)建交互式和動(dòng)態(tài)圖形的強(qiáng)大工具。 <\/p>\n<h3>GraphicsJS 是否與所有瀏覽器兼容? <\/h3>\n<p>GraphicsJS 旨在與所有現(xiàn)代瀏覽器兼容,包括 Chrome、Firefox、Safari 和 Internet Explorer。它使用 SVG 和 VML 進(jìn)行渲染,所有這些瀏覽器都支持它們。這確保您的圖形在不同的平臺(tái)和設(shè)備上看起來(lái)一致且性能良好。 <\/p>\n<h3>如何使用 GraphicsJS 創(chuàng)建漸變? <\/h3>\n<p>使用 GraphicsJS 創(chuàng)建漸變很簡(jiǎn)單。您可以使用漸變方法定義線性或徑向漸變,指定顏色和位置,然後將漸變應(yīng)用於任何圖形。這使您可以輕鬆創(chuàng)建豐富多彩的圖形。 <\/p>\n<h3>我可以使用 GraphicsJS 創(chuàng)建交互式圖形嗎? <\/h3>\n<p>是的,GraphicsJS 提供了一套事件處理功能,允許您創(chuàng)建交互式圖形。您可以將事件偵聽(tīng)器附加到任何圖形,使您可以響應(yīng)用戶的操作,例如點(diǎn)擊、鼠標(biāo)移動(dòng)等等。這使得 GraphicsJS 成為創(chuàng)建交互式 Web 應(yīng)用程序的絕佳選擇。 <\/p>\n<h3>GraphicsJS 是否支持圖層? <\/h3>\n<p>是的,GraphicsJS 支持圖層,允許您將圖形組織到單獨(dú)的組中。每個(gè)圖層都可以獨(dú)立操作,從而更易於管理複雜的圖形。您還可以控制每個(gè)圖層的可見(jiàn)性和 z 順序,從而對(duì)圖形進(jìn)行細(xì)粒度控制。 <\/p>\n<h3>如何使用 GraphicsJS 優(yōu)化我的圖形? <\/h3>\n<p>GraphicsJS 提供了幾項(xiàng)功能,可以幫助您優(yōu)化圖形。例如,您可以使用裁剪方法隱藏指定區(qū)域之外的圖形部分,從而減少所需的渲染量。您還可以使用緩存方法來(lái)存儲(chǔ)圖形的渲染輸出,從而提高經(jīng)常重新繪製圖形的性能。 <\/p>\n<h3>我可以使用 GraphicsJS 創(chuàng)建圖表和圖形嗎? <\/h3>\n<p>雖然 GraphicsJS 不是專門(mén)為創(chuàng)建圖表和圖形而設(shè)計(jì)的,但其強(qiáng)大的繪圖和動(dòng)畫(huà)功能使其可以創(chuàng)建任何類型的圖形,包括圖表和圖形。您可以使用庫(kù)的方法來(lái)繪製線條、曲線、矩形、圓形等等,從而創(chuàng)建各種圖表類型。 <\/p>\n<h3>GraphicsJS 是否免費(fèi)使用? <\/h3>\n<p>是的,GraphicsJS 是一個(gè)免費(fèi)的開(kāi)源庫(kù)。您可以在項(xiàng)目中免費(fèi)使用它。該庫(kù)也得到了積極維護(hù),確保它與最新的 Web 標(biāo)準(zhǔn)和技術(shù)保持同步。 <\/p>"}	</script>
    	
    <meta http-equiv="Cache-Control" content="no-transform" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <script>var V_PATH="/";window.onerror=function(){ return true; };</script>
    </head>
    
    <body data-commit-time="2023-12-28T14:50:12+08:00" class="editor_body body2_2">
    	<link rel="stylesheet" type="text/css" href="/static/csshw/stylehw.css">
    <header>
        <div   id="377j5v51b"   class="head">
            <div   id="377j5v51b"   class="haed_left">
                <div   id="377j5v51b"   class="haed_logo">
                    <a href="http://miracleart.cn/zh-tw/" title="" class="haed_logo_a">
                        <img src="/static/imghw/logo.png" alt="" class="haed_logoimg">
                    </a>
                </div>
                <div   id="377j5v51b"   class="head_nav">
                    <div   id="377j5v51b"   class="head_navs">
                        <a href="javascript:;" title="社群" class="head_nava head_nava-template1">社群</a>
                        <div   class="377j5v51b"   id="dropdown-template1" style="display: none;">
                            <div   id="377j5v51b"   class="languagechoose">
                                <a href="http://miracleart.cn/zh-tw/article.html" title="文章" class="languagechoosea on">文章</a>
                                <a href="http://miracleart.cn/zh-tw/faq/zt" title="合集" class="languagechoosea">合集</a>
                                <a href="http://miracleart.cn/zh-tw/wenda.html" title="問(wèn)答" class="languagechoosea">問(wèn)答</a>
                            </div>
                        </div>
                    </div>
    
                    <div   id="377j5v51b"   class="head_navs">
                        <a href="javascript:;" title="學(xué)習(xí)" class="head_nava head_nava-template1_1">學(xué)習(xí)</a>
                        <div   class="377j5v51b"   id="dropdown-template1_1" style="display: none;">
                            <div   id="377j5v51b"   class="languagechoose">
                                <a href="http://miracleart.cn/zh-tw/course.html" title="課程" class="languagechoosea on">課程</a>
                                <a href="http://miracleart.cn/zh-tw/dic/" title="程式設(shè)計(jì)字典" class="languagechoosea">程式設(shè)計(jì)字典</a>
                            </div>
                        </div>
                    </div>
    
                    <div   id="377j5v51b"   class="head_navs">
                        <a href="javascript:;" title="工具庫(kù)" class="head_nava head_nava-template1_2">工具庫(kù)</a>
                        <div   class="377j5v51b"   id="dropdown-template1_2" style="display: none;">
                            <div   id="377j5v51b"   class="languagechoose">
                                <a href="http://miracleart.cn/zh-tw/toolset/development-tools" title="開(kāi)發(fā)工具" class="languagechoosea on">開(kāi)發(fā)工具</a>
                                <a href="http://miracleart.cn/zh-tw/toolset/website-source-code" title="網(wǎng)站源碼" class="languagechoosea">網(wǎng)站源碼</a>
                                <a href="http://miracleart.cn/zh-tw/toolset/php-libraries" title="PHP 函式庫(kù)" class="languagechoosea">PHP 函式庫(kù)</a>
                                <a href="http://miracleart.cn/zh-tw/toolset/js-special-effects" title="JS特效" class="languagechoosea on">JS特效</a>
                                <a href="http://miracleart.cn/zh-tw/toolset/website-materials" title="網(wǎng)站素材" class="languagechoosea on">網(wǎng)站素材</a>
                                <a href="http://miracleart.cn/zh-tw/toolset/extension-plug-ins" title="擴(kuò)充插件" class="languagechoosea on">擴(kuò)充插件</a>
                            </div>
                        </div>
                    </div>
    
                    <div   id="377j5v51b"   class="head_navs">
                        <a href="http://miracleart.cn/zh-tw/ai" title="AI工具" class="head_nava head_nava-template1_3">AI工具</a>
                    </div>
    
                    <div   id="377j5v51b"   class="head_navs">
                        <a href="javascript:;" title="休閒" class="head_nava head_nava-template1_3">休閒</a>
                        <div   class="377j5v51b"   id="dropdown-template1_3" style="display: none;">
                            <div   id="377j5v51b"   class="languagechoose">
                                <a href="http://miracleart.cn/zh-tw/game" title="遊戲下載" class="languagechoosea on">遊戲下載</a>
                                <a href="http://miracleart.cn/zh-tw/mobile-game-tutorial/" title="遊戲教程" class="languagechoosea">遊戲教程</a>
    
                            </div>
                        </div>
                    </div>
                </div>
            </div>
                        <div   id="377j5v51b"   class="head_search">
                    <input id="key_words"  onkeydown="if (event.keyCode == 13) searchs('zh-tw')" class="search-input" type="text" autocomplete="off" name="keywords" required="required" placeholder="Block,address,transaction,news" value="">
                    <a href="javascript:;" title="搜尋"  onclick="searchs('zh-tw')"><img src="/static/imghw/find.png" alt="搜尋"></a>
                </div>
                    <div   id="377j5v51b"   class="head_right">
                <div   id="377j5v51b"   class="haed_language">
                    <a href="javascript:;" class="layui-btn haed_language_btn">繁體中文<i class="layui-icon layui-icon-triangle-d"></i></a>
                    <div   class="377j5v51b"   id="dropdown-template" style="display: none;">
                        <div   id="377j5v51b"   class="languagechoose">
                                                    <a href="javascript:setlang('zh-cn');" title="簡(jiǎn)體中文" class="languagechoosea">簡(jiǎn)體中文</a>
                                                    <a href="javascript:setlang('en');" title="English" class="languagechoosea">English</a>
                                                    <a href="javascript:;" title="繁體中文" class="languagechoosea">繁體中文</a>
                                                    <a href="javascript:setlang('ja');" title="日本語(yǔ)" class="languagechoosea">日本語(yǔ)</a>
                                                    <a href="javascript:setlang('ko');" title="???" class="languagechoosea">???</a>
                                                    <a href="javascript:setlang('ms');" title="Melayu" class="languagechoosea">Melayu</a>
                                                    <a href="javascript:setlang('fr');" title="Fran?ais" class="languagechoosea">Fran?ais</a>
                                                    <a href="javascript:setlang('de');" title="Deutsch" class="languagechoosea">Deutsch</a>
                                                </div>
                    </div>
                </div>
                <span id="377j5v51b"    class="head_right_line"></span>
                                <div style="display: block;" id="login" class="haed_login ">
                        <a href="javascript:;"  title="Login" class="haed_logina ">Login</a>
                    </div>
                    <div style="display: block;" id="reg" class="head_signup login">
                        <a href="javascript:;"  title="singup" class="head_signupa">singup</a>
                    </div>
                
            </div>
        </div>
    </header>
    
    	
    	<main>
    		<div   id="377j5v51b"   class="Article_Details_main">
    			<div   id="377j5v51b"   class="Article_Details_main1">
    							<div   id="377j5v51b"   class="Article_Details_main1L">
    					<div   id="377j5v51b"   class="Article_Details_main1Lmain" id="Article_Details_main1Lmain">
    						<div   id="377j5v51b"   class="Article_Details_main1L1">目錄</div>
    						<div   id="377j5v51b"   class="Article_Details_main1L2" id="Article_Details_main1L2">
    							<!-- 左側(cè)懸浮,文章定位標(biāo)題1 id="Article_Details_main1L2s_1"-->
    															<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#關(guān)鍵要點(diǎn)" title="關(guān)鍵要點(diǎn)" >關(guān)鍵要點(diǎn)</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#為什麼選擇-GraphicsJS" title="為什麼選擇 GraphicsJS" >為什麼選擇 GraphicsJS</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#GraphicsJS-基礎(chǔ)知識(shí)" title="GraphicsJS 基礎(chǔ)知識(shí)" >GraphicsJS 基礎(chǔ)知識(shí)</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#我們的第一幅傑作" title="我們的第一幅傑作" >我們的第一幅傑作</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#填充-描邊和圖案填充" title="填充、描邊和圖案填充" >填充、描邊和圖案填充</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#在不到-行代碼中創(chuàng)建一個(gè)益智藝術(shù)遊戲" title="在不到 50 行代碼中創(chuàng)建一個(gè)益智藝術(shù)遊戲" >在不到 50 行代碼中創(chuàng)建一個(gè)益智藝術(shù)遊戲</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#圖層-zIndex-和虛擬-DOM" title="圖層、zIndex 和虛擬 DOM" >圖層、zIndex 和虛擬 DOM</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#轉(zhuǎn)換" title="轉(zhuǎn)換" >轉(zhuǎn)換</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#處理事件" title="處理事件" >處理事件</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#性能優(yōu)化" title="性能優(yōu)化" >性能優(yōu)化</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#最終結(jié)果" title="最終結(jié)果" >最終結(jié)果</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#結(jié)論" title="結(jié)論" >結(jié)論</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#進(jìn)一步閱讀的鏈接" title="進(jìn)一步閱讀的鏈接" >進(jìn)一步閱讀的鏈接</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#關(guān)於-GraphicsJS-的常見(jiàn)問(wèn)題" title="關(guān)於 GraphicsJS 的常見(jiàn)問(wèn)題" >關(guān)於 GraphicsJS 的常見(jiàn)問(wèn)題</a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#GraphicsJS-與其他-JavaScript-圖形庫(kù)有何不同" title="GraphicsJS 與其他 JavaScript 圖形庫(kù)有何不同? " >GraphicsJS 與其他 JavaScript 圖形庫(kù)有何不同? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#如何開(kāi)始使用-GraphicsJS" title="如何開(kāi)始使用 GraphicsJS? " >如何開(kāi)始使用 GraphicsJS? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#我可以使用-GraphicsJS-創(chuàng)建複雜的動(dòng)畫(huà)嗎" title="我可以使用 GraphicsJS 創(chuàng)建複雜的動(dòng)畫(huà)嗎? " >我可以使用 GraphicsJS 創(chuàng)建複雜的動(dòng)畫(huà)嗎? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#GraphicsJS-是否與所有瀏覽器兼容" title="GraphicsJS 是否與所有瀏覽器兼容? " >GraphicsJS 是否與所有瀏覽器兼容? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#如何使用-GraphicsJS-創(chuàng)建漸變" title="如何使用 GraphicsJS 創(chuàng)建漸變? " >如何使用 GraphicsJS 創(chuàng)建漸變? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#我可以使用-GraphicsJS-創(chuàng)建交互式圖形嗎" title="我可以使用 GraphicsJS 創(chuàng)建交互式圖形嗎? " >我可以使用 GraphicsJS 創(chuàng)建交互式圖形嗎? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#GraphicsJS-是否支持圖層" title="GraphicsJS 是否支持圖層? " >GraphicsJS 是否支持圖層? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#如何使用-GraphicsJS-優(yōu)化我的圖形" title="如何使用 GraphicsJS 優(yōu)化我的圖形? " >如何使用 GraphicsJS 優(yōu)化我的圖形? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#我可以使用-GraphicsJS-創(chuàng)建圖表和圖形嗎" title="我可以使用 GraphicsJS 創(chuàng)建圖表和圖形嗎? " >我可以使用 GraphicsJS 創(chuàng)建圖表和圖形嗎? </a>
    								</div>
    																<div   id="377j5v51b"   class="Article_Details_main1L2s ">
    									<a href="#GraphicsJS-是否免費(fèi)使用" title="GraphicsJS 是否免費(fèi)使用? " >GraphicsJS 是否免費(fèi)使用? </a>
    								</div>
    														</div>
    					</div>
    				</div>
    							<div   id="377j5v51b"   class="Article_Details_main1M">
    					<div   id="377j5v51b"   class="phpgenera_Details_mainL1">
    						<a href="http://miracleart.cn/zh-tw/" title="首頁(yè)"
    							class="phpgenera_Details_mainL1a">首頁(yè)</a>
    						<img src="/static/imghw/top_right.png" alt="" />
    												<a href="http://miracleart.cn/zh-tw/web-designer.html"
    							class="phpgenera_Details_mainL1a">web前端</a>
    						<img src="/static/imghw/top_right.png" alt="" />
    												<a href="http://miracleart.cn/zh-tw/js-tutorial.html"
    							class="phpgenera_Details_mainL1a">js教程</a>
    						<img src="/static/imghw/top_right.png" alt="" />
    						<span>介紹Graphicsjs,一個(gè)功能強(qiáng)大的輕量級(jí)圖形庫(kù)</span>
    					</div>
    					
    					<div   id="377j5v51b"   class="Articlelist_txts">
    						<div   id="377j5v51b"   class="Articlelist_txts_info">
    							<h1 class="Articlelist_txts_title">介紹Graphicsjs,一個(gè)功能強(qiáng)大的輕量級(jí)圖形庫(kù)</h1>
    							<div   id="377j5v51b"   class="Articlelist_txts_info_head">
    								<div   id="377j5v51b"   class="author_info">
    									<a href="http://miracleart.cn/zh-tw/member/1242473.html"  class="author_avatar">
    									<img class="lazy"  data-src="https://img.php.cn/upload/avatar/001/242/473/646b03ec7509a724.jpg" src="/static/imghw/default1.png" alt="Jack chen">
    									</a>
    									<div   id="377j5v51b"   class="author_detail">
    																			<a href="http://miracleart.cn/zh-tw/member/1242473.html" class="author_name">Jack chen</a>
                                    										</div>
    								</div>
                    			</div>
    							<span id="377j5v51b"    class="Articlelist_txts_time">Feb 17, 2025 am	 10:42 AM</span>
    														
    						</div>
    					</div>
    					<hr />
    					<div   id="377j5v51b"   class="article_main php-article">
    						<div   id="377j5v51b"   class="article-list-left detail-content-wrap content">
    						<ins class="adsbygoogle"
    							style="display:block; text-align:center;"
    							data-ad-layout="in-article"
    							data-ad-format="fluid"
    							data-ad-client="ca-pub-5902227090019525"
    							data-ad-slot="3461856641">
    						</ins>
    						
    
    					<p>HTML5:現(xiàn)代網(wǎng)絡(luò)的基石。如今,在創(chuàng)建交互式圖像時(shí),SVG 和 Canvas 通常是首選技術(shù)——Flash 已被遺忘,Silverlight 則成為網(wǎng)絡(luò)邊緣罕見(jiàn)的獨(dú)角獸,很少有人記得第三方插件。 </p>
    <p>每種技術(shù)的優(yōu)缺點(diǎn)都有詳細(xì)記錄,但簡(jiǎn)而言之,SVG 更適合創(chuàng)建和處理交互式元素。這是因?yàn)?SVG 是一種基於 XML 的矢量格式,當(dāng)使用 <code><svg></svg></code> 標(biāo)籤將圖像加載到頁(yè)面中時(shí),其中的每個(gè)元素都可以在 SVG DOM 中使用。 </p>
    <p>在本文中,我想向您介紹 GraphicsJS,這是一個(gè)基於 SVG 的全新強(qiáng)大的開(kāi)源 JavaScript 繪圖庫(kù)(對(duì)於舊版 IE 版本,它具有 VML 備用方案)。我將首先快速介紹其基礎(chǔ)知識(shí),然後藉助兩個(gè)簡(jiǎn)短而精彩的示例來(lái)展示該庫(kù)的功能:第一個(gè)示例完全關(guān)於藝術(shù),第二個(gè)示例說(shuō)明如何在不到50 行代碼中編寫(xiě)一個(gè)簡(jiǎn)單的益智藝術(shù)遊戲。 </p>
    <h2 id="關(guān)鍵要點(diǎn)">關(guān)鍵要點(diǎn)</h2>
    <ul>
    <li>GraphicsJS 是一個(gè)新的、強(qiáng)大的、開(kāi)源的 JavaScript 繪圖庫(kù),基於 SVG,並為舊版 IE 版本提供 VML 備用方案。它輕量級(jí)且靈活,具有豐富的 JavaScript API。 </li>
    <li>該庫(kù)由 AnyChart 發(fā)布,至少已在 AnyChart 的專有產(chǎn)品中使用三年來(lái)渲染圖表,確保其穩(wěn)健性。與 AnyChart 的 JavaScript 繪圖庫(kù)不同,GraphicsJS 可免費(fèi)用於商業(yè)和非營(yíng)利項(xiàng)目。 </li>
    <li>GraphicsJS 具有跨瀏覽器兼容性,支持 Internet Explorer 6.0 、Safari 3.0 、Firefox 3.0  和 Opera 9.5 。它在舊版 IE 版本中以 VML 渲染,在所有其他瀏覽器中以 SVG 渲染。 </li>
    <li>該庫(kù)允許將圖形和動(dòng)畫(huà)結(jié)合起來(lái),示例包括動(dòng)畫(huà)篝火、旋轉(zhuǎn)星系、降雨以及可玩的 15 拼圖遊戲。它還包含詳盡的文檔和全面的 API 參考。 </li>
    <li>GraphicsJS 庫(kù)可用於創(chuàng)建交互式 Web 應(yīng)用程序,其功能包括圖層、漸變、圖案、事件處理和性能優(yōu)化。它還支持複雜的動(dòng)畫(huà)和轉(zhuǎn)換,使其成為開(kāi)發(fā)人員的多功能選擇。 </li>
    </ul>
    <h2 id="為什麼選擇-GraphicsJS">為什麼選擇 GraphicsJS</h2>
    <p>有很多庫(kù)可以幫助開(kāi)發(fā)人員使用 SVG:Rapha?l、Snap.svg 和 BonsaiJS,僅舉幾例最佳庫(kù)。這些庫(kù)各有優(yōu)缺點(diǎn),但對(duì)其進(jìn)行徹底比較將是另一篇文章的主題。本文是關(guān)於 GraphicsJS 的,因此讓我解釋一下它有什麼優(yōu)點(diǎn)和特殊之處。 </p>
    <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173976013882330.jpg" class="lazy" alt="Introducing GraphicsJS, a Powerful Lightweight Graphics Library "></p>
    <p>首先,GraphicsJS 輕量級(jí)且具有非常靈活的 JavaScript API。它實(shí)現(xiàn)了許多豐富的文本功能,以及一個(gè)與瀏覽器特定 HTML DOM 實(shí)現(xiàn)分離的虛擬 DOM。 </p>
    <p>其次,它是一個(gè)新的開(kāi)源 JavaScript 庫(kù),於去年秋季由 AnyChart(全球領(lǐng)先的交互式數(shù)據(jù)可視化軟件開(kāi)發(fā)商之一)發(fā)布。 AnyChart 至少已使用 GraphicsJS 三年(自 AnyChart 7.0 發(fā)布以來(lái))在其專有產(chǎn)品中渲染圖表,因此 GraphicsJS 已完全經(jīng)過(guò)實(shí)戰(zhàn)測(cè)試。 (免責(zé)聲明:我是 AnyChart 的研發(fā)主管和 GraphicsJS 的首席開(kāi)發(fā)人員)</p>
    <p>第三,與 AnyChart 的 JavaScript 繪圖庫(kù)不同,GraphicsJS 可免費(fèi)用於商業(yè)和非營(yíng)利項(xiàng)目。它在 GitHub 上根據(jù) Apache 許可證提供。 </p>
    <p>第四,GraphicsJS 具有跨瀏覽器兼容性,支持 Internet Explorer 6.0 、Safari 3.0 、Firefox 3.0  和 Opera 9.5 。它在舊版 IE 版本中以 VML 渲染,在所有其他瀏覽器中以 SVG 渲染。 </p>
    <p>最後,GraphicsJS 允許您將圖形和動(dòng)畫(huà)完美地結(jié)合起來(lái)。查看其主要圖庫(kù),其中包含動(dòng)畫(huà)篝火、旋轉(zhuǎn)星系、降雨、程序生成的葉子、可玩的 15 拼圖遊戲等等。 GraphicsJS 在其詳盡的文檔和全面的 API 參考中包含更多示例。 </p>
    <h2 id="GraphicsJS-基礎(chǔ)知識(shí)">GraphicsJS 基礎(chǔ)知識(shí)</h2>
    <p>要開(kāi)始使用 GraphicsJS,您需要引用該庫(kù)並為繪圖創(chuàng)建一個(gè)塊級(jí) HTML 元素:</p>
    <pre class='brush:php;toolbar:false;'> <!DOCTYPE html>
     <html lang="en">
     <head>
       <meta charset="utf-8" />
       <title>GraphicsJS Basic Example</title>    
     </head>
     <body>
       <div id="stage-container" style="width: 400px; height: 375px;"></div>
    
       <??>
       <??>
     </body>
     </html></pre>
    <p>然後,您應(yīng)該創(chuàng)建一個(gè)舞臺(tái)並在其中繪製一些內(nèi)容,例如矩形、圓形或其他形狀:</p>
    <pre class='brush:php;toolbar:false;'> // 創(chuàng)建舞臺(tái)
     var stage = acgraph.create('stage-container');
     // 繪制矩形
     var stage.rect(25, 50, 350, 300);</pre>
    <p>以下是 CodePen 上的示例,我們?cè)谄渲懈M(jìn)一步並繪製了死亡聖器符號(hào)。 </p>
    <h2 id="我們的第一幅傑作">我們的第一幅傑作</h2>
    <h3 id="填充-描邊和圖案填充">填充、描邊和圖案填充</h3>
    <p>可以使用填充設(shè)置和描邊設(shè)置對(duì)任何形狀或路徑進(jìn)行著色。所有內(nèi)容都有描邊(邊框),但只有形狀和閉合路徑才有填充。填充和描邊設(shè)置非常豐富,您可以將線性或圓形漸變用於填充和描邊。此外,線條可以是虛線的,並且支持具有多種平鋪模式的圖像填充。但這都是您幾乎可以在任何庫(kù)中都能找到的相當(dāng)標(biāo)準(zhǔn)的內(nèi)容。使 GraphicsJS 具有特殊性的是其網(wǎng)格和圖案填充功能,它不僅允許您直接使用 32 種(!) 可用的網(wǎng)格填充圖案,還允許您輕鬆創(chuàng)建由形狀或文本組成的自定義圖案。 </p>
    <p>現(xiàn)在,讓我們看看究竟可以實(shí)現(xiàn)什麼!我將繪製一幅男人站在房子附近的簡(jiǎn)筆劃,然後用不同的圖案和顏色填充來(lái)增強(qiáng)它。為了簡(jiǎn)單起見(jiàn),讓我們把它做成一幅幼稚的藝術(shù)畫(huà)(並儘量不要涉及到藝術(shù)粗野)。就是這樣:</p>
    <pre class='brush:php;toolbar:false;'> // 創(chuàng)建舞臺(tái)
     var stage = acgraph.create('stage-container');
    
     // 繪制框架
     var frame = stage.rect(25, 50, 350, 300);
    
     // 繪制房子
     var walls = stage.rect(50, 250, 200, 100);
     var roof  = stage.path()
       .moveTo(50, 250)
       .lineTo(150, 180)
       .lineTo(250, 250)
       .close();
    
     // 繪制一個(gè)人
     var head = stage.circle(330, 280, 10);
     var neck = stage.path().moveTo(330, 290).lineTo(330, 300);
     var kilt = stage.triangleUp(330, 320, 20);
     var rightLeg = stage.path().moveTo(320, 330).lineTo(320, 340);
     var leftLeg = stage.path().moveTo(340, 330).lineTo(340, 340);</pre>
    <p>查看 CodePen 上的結(jié)果。 </p>
    <p>如您所見(jiàn),我們現(xiàn)在正在使用變量——所有在舞臺(tái)上繪製內(nèi)容的方法都會(huì)返回對(duì)所創(chuàng)建對(duì)象的引用,並且此鏈接可用於更改或刪除對(duì)象。 </p>
    <p>還要注意鍊式調(diào)用(例如 <code>stage.path().moveTo(320, 330).lineTo(320, 340);</code>)如何在 GraphicsJS 中隨處可見(jiàn),它有助於縮短代碼。鍊式調(diào)用應(yīng)謹(jǐn)慎使用,但如果應(yīng)用得當(dāng),它確實(shí)使代碼更緊湊且更易於閱讀。 </p><p>現(xiàn)在,讓我們把這個(gè)塗色頁(yè)交給一個(gè)孩子,讓他們來(lái)塗色。因?yàn)榧词故呛⒆右材苷莆找韵录夹g(shù):</p>
    <pre class='brush:php;toolbar:false;'> <!DOCTYPE html>
     <html lang="en">
     <head>
       <meta charset="utf-8" />
       <title>GraphicsJS Basic Example</title>    
     </head>
     <body>
       <div id="stage-container" style="width: 400px; height: 375px;"></div>
    
       <??>
       <??>
     </body>
     </html></pre>
    <p>這就是我們示例現(xiàn)在的外觀。 </p>
    <p>現(xiàn)在,我們有一幅高地人在蘇格蘭短裙旁邊,他站在他的磚砌城堡附近,屋頂是稻草的圖片。我們甚至可以冒險(xiǎn)說(shuō)這確實(shí)是一件我們想要獲得版權(quán)的<em>藝術(shù)品</em>。讓我們使用基於自定義文本的圖案填充來(lái)做到這一點(diǎn):</p>
    <pre class='brush:php;toolbar:false;'> // 創(chuàng)建舞臺(tái)
     var stage = acgraph.create('stage-container');
     // 繪制矩形
     var stage.rect(25, 50, 350, 300);</pre>
    <p>如您所見(jiàn),這很容易做到:您創(chuàng)建一個(gè)文本對(duì)象的實(shí)例,然後在舞臺(tái)上形成一個(gè)圖案,並將文本放入圖案中。 </p>
    <p>查看 CodePen 上的彩色版權(quán)房屋/graphicsjs。 </p>
    <h2 id="在不到-行代碼中創(chuàng)建一個(gè)益智藝術(shù)遊戲">在不到 50 行代碼中創(chuàng)建一個(gè)益智藝術(shù)遊戲</h2>
    <p>在本文的下一部分,我想向您展示如何在不到 50 行代碼中使用 GraphicsJS 創(chuàng)建一個(gè)類似 Cookie Clicker 的遊戲。 </p>
    <p>遊戲名稱為<em>“風(fēng)中清掃街道”</em>,玩家扮演一名清道夫的角色,在秋天的多風(fēng)下午清掃街道。該遊戲使用 GraphicsJS 圖庫(kù)中程序生成的葉子示例中的一些代碼。 </p>
    <p>您可以在 CodePen(或文章結(jié)尾)上查看完成的遊戲。 </p>
    <h3 id="圖層-zIndex-和虛擬-DOM">圖層、zIndex 和虛擬 DOM</h3>
    <p>我們首先創(chuàng)建一個(gè)舞臺(tái)(如前所述),然後聲明一些初始變量:</p>
    <pre class='brush:php;toolbar:false;'> // 創(chuàng)建舞臺(tái)
     var stage = acgraph.create('stage-container');
    
     // 繪制框架
     var frame = stage.rect(25, 50, 350, 300);
    
     // 繪制房子
     var walls = stage.rect(50, 250, 200, 100);
     var roof  = stage.path()
       .moveTo(50, 250)
       .lineTo(150, 180)
       .lineTo(250, 250)
       .close();
    
     // 繪制一個(gè)人
     var head = stage.circle(330, 280, 10);
     var neck = stage.path().moveTo(330, 290).lineTo(330, 300);
     var kilt = stage.triangleUp(330, 320, 20);
     var rightLeg = stage.path().moveTo(320, 330).lineTo(320, 340);
     var leftLeg = stage.path().moveTo(340, 330).lineTo(340, 340);</pre>
    <p>對(duì)於這個(gè)遊戲,我們將使用圖層——GraphicsJS 中用於對(duì)元素進(jìn)行分組的對(duì)象。如果您想對(duì)元素應(yīng)用類似的更改(例如轉(zhuǎn)換),則必須對(duì)元素進(jìn)行分組。您可以在暫停模式下更改圖層(稍後將詳細(xì)介紹),這可以提高性能和用戶體驗(yàn)。 </p>
    <p>在此演示中,我們使用圖層功能來(lái)幫助我們將葉子組合在一起,並避免它們覆蓋標(biāo)籤(它告訴我們清掃了多少葉子)。為此,我們創(chuàng)建一個(gè)標(biāo)籤,然後調(diào)用 <code>stage.layer</code> 方法,該方法創(chuàng)建舞臺(tái)綁定圖層。我們將此圖層的 <code>zIndex</code> 屬性設(shè)置為低於標(biāo)籤的 <code>zIndex</code> 屬性。 </p>
    <pre class='brush:php;toolbar:false;'> // 給圖片著色
     // 精美的框架
     frame.stroke(["red", "green", "blue"], 2, "2 2 2");
     // 磚墻
     walls.fill(acgraph.hatchFill('horizontalbrick'));
     // 草屋頂
     roof.fill("#e4d96f");
     // 格子呢裙
     kilt.fill(acgraph.hatchFill('plaid'));</pre>
    <p>執(zhí)行此操作後,無(wú)論我們?cè)趫D層中創(chuàng)建多少葉子,我們都可以確保它們不會(huì)覆蓋文本。 </p>
    <h3 id="轉(zhuǎn)換">轉(zhuǎn)換</h3>
    <p>接下來(lái),讓我們添加一個(gè)函數(shù)來(lái)繪製我們的葉子。這將使用方便的 GraphicsJS 轉(zhuǎn)換 API,該 API 允許您移動(dòng)、縮放、旋轉(zhuǎn)和剪切元素和元素組。當(dāng)與圖層和虛擬 DOM 結(jié)合使用時(shí),這是一個(gè)非常強(qiáng)大的工具。 </p>
    <pre class='brush:php;toolbar:false;'> // 169 是版權(quán)符號(hào)的字符代碼
     var  text = acgraph.text().text(String.fromCharCode(169)).opacity(0.2);
     var  pattern_font = stage.pattern(text.getBounds());
     pattern_font.addChild(text);
     // 用圖案填充整個(gè)圖像
     frame.fill(pattern_font);</pre>
    <p>您會(huì)看到每個(gè)路徑的創(chuàng)建方式相同,但隨後會(huì)進(jìn)行轉(zhuǎn)換。這將產(chǎn)生非常漂亮的隨機(jī)葉子圖案。 </p>
    <h3 id="處理事件">處理事件</h3>
    <p>GraphicsJS 中的任何對(duì)象、舞臺(tái)和圖層都可以處理事件。支持的事件的完整列表可在 EventType API 中找到。舞臺(tái)有四個(gè)特殊的事件來(lái)控制渲染。 </p><p>在這個(gè)遊戲示例中,我們正在使用附加到葉子對(duì)象的事件偵聽(tīng)器,以便用戶將鼠標(biāo)懸停在它們上時(shí),它們會(huì)一個(gè)接一個(gè)地消失。為此,請(qǐng)將以下代碼添加到 <code>drawLeaves</code> 函數(shù)的底部,在 <code>return</code> 語(yǔ)句之前:</p>
    <pre class='brush:php;toolbar:false;'> <!DOCTYPE html>
     <html lang="en">
     <head>
       <meta charset="utf-8" />
       <title>GraphicsJS Basic Example</title>    
     </head>
     <body>
       <div id="stage-container" style="width: 400px; height: 375px;"></div>
    
       <??>
       <??>
     </body>
     </html></pre>
    <p>在這裡,我們還可以看到我們正在使用圖層來(lái)計(jì)算葉子。 </p>
    <pre class='brush:php;toolbar:false;'> // 創(chuàng)建舞臺(tái)
     var stage = acgraph.create('stage-container');
     // 繪制矩形
     var stage.rect(25, 50, 350, 300);</pre>
    <p>請(qǐng)注意,我們實(shí)際上並沒(méi)有在這裡存儲(chǔ)葉子的數(shù)量。由於我們將葉子添加到特定圖層並從中刪除葉子,因此這使我們能夠跟蹤我們有多少個(gè)子元素(以及因此還剩下多少葉子)。 </p>
    <p>GraphicsJS 提供了一個(gè)虛擬 DOM,它是 HTML DOM 的抽象,輕量級(jí)且與瀏覽器特定的 SVG/VML 實(shí)現(xiàn)分離。它對(duì)於執(zhí)行許多偉大的事情非常有用,例如跟蹤所有對(duì)象和圖層,對(duì)組應(yīng)用轉(zhuǎn)換以及在幫助下優(yōu)化渲染允許我們跟蹤和控制渲染過(guò)程的方法。 </p>
    <h3 id="性能優(yōu)化">性能優(yōu)化</h3>
    <p>虛擬 DOM 以及事件處理程序允許 GraphicsJS 用戶控制渲染。性能文章可以幫助您了解這些內(nèi)容之間的關(guān)係。 </p>
    <p>在遊戲中生成葉子時(shí),我們需要在添加新葉子時(shí)暫停渲染,並且只有在所有更改完成後才恢復(fù)渲染:</p>
    <pre class='brush:php;toolbar:false;'> // 創(chuàng)建舞臺(tái)
     var stage = acgraph.create('stage-container');
    
     // 繪制框架
     var frame = stage.rect(25, 50, 350, 300);
    
     // 繪制房子
     var walls = stage.rect(50, 250, 200, 100);
     var roof  = stage.path()
       .moveTo(50, 250)
       .lineTo(150, 180)
       .lineTo(250, 250)
       .close();
    
     // 繪制一個(gè)人
     var head = stage.circle(330, 280, 10);
     var neck = stage.path().moveTo(330, 290).lineTo(330, 300);
     var kilt = stage.triangleUp(330, 320, 20);
     var rightLeg = stage.path().moveTo(320, 330).lineTo(320, 340);
     var leftLeg = stage.path().moveTo(340, 330).lineTo(340, 340);</pre>
    <p>這種處理新元素的方法使新葉子幾乎可以立即出現(xiàn)。 </p>
    <p>最後,通過(guò)調(diào)用 <code>shakeTree()</code> 來(lái)啟動(dòng)所有內(nèi)容。 </p>
    <pre class='brush:php;toolbar:false;'> // 給圖片著色
     // 精美的框架
     frame.stroke(["red", "green", "blue"], 2, "2 2 2");
     // 磚墻
     walls.fill(acgraph.hatchFill('horizontalbrick'));
     // 草屋頂
     roof.fill("#e4d96f");
     // 格子呢裙
     kilt.fill(acgraph.hatchFill('plaid'));</pre>
    <h3 id="最終結(jié)果">最終結(jié)果</h3>
    <p>查看 CodePen 上的街道清掃工/graphicsjs。 </p>
    <h2 id="結(jié)論">結(jié)論</h2>
    <p>向 HTML5 的轉(zhuǎn)變改變了網(wǎng)絡(luò)。當(dāng)涉及到現(xiàn)代 Web 應(yīng)用程序甚至簡(jiǎn)單的網(wǎng)站時(shí),我們經(jīng)常會(huì)遇到需要圖像處理的任務(wù)。雖然不可能找到在每種情況下都能很好工作的解決方案,但您應(yīng)該考慮 GraphicsJS 庫(kù)。它是開(kāi)源的、健壯的,具有出色的瀏覽器支持和許多使其有趣、方便且當(dāng)然有用的功能。 </p>
    <p>我很樂(lè)意在下面的評(píng)論中聽(tīng)到您對(duì) GrphicsJS 的反饋。您是否已經(jīng)在使用它?您是否會(huì)考慮將其用於新項(xiàng)目?我很想知道原因,或者為什麼不使用它。我還正在編寫(xiě)主要 JavaScript 繪圖庫(kù)列表以及將比較和對(duì)比所有這些庫(kù)的文章。也可以隨意指出您希望在那裡看到的功能。 </p>
    <h2 id="進(jìn)一步閱讀的鏈接">進(jìn)一步閱讀的鏈接</h2>
    <ul>
    <li>常規(guī)信息<ul>
    <li>SVG</li>
    <li>Canvas</li>
    <li>SVG 與 Canvas</li>
    </ul>
    </li>
    <li>庫(kù)<ul>
    <li>GraphicsJS</li>
    <li>Rapha?l</li>
    <li>Snap.svg</li>
    <li>BonsaiJS</li>
    </ul>
    </li>
    <li>GraphicsJS<ul>
    <li>GitHub 上的 GraphicsJS</li>
    <li>GraphicsJS 文檔</li>
    <li>GraphicsJS API 參考</li>
    </ul>
    </li>
    </ul>
    <h2 id="關(guān)於-GraphicsJS-的常見(jiàn)問(wèn)題">關(guān)於 GraphicsJS 的常見(jiàn)問(wèn)題</h2>
    <h3 id="GraphicsJS-與其他-JavaScript-圖形庫(kù)有何不同">GraphicsJS 與其他 JavaScript 圖形庫(kù)有何不同? </h3>
    <p>GraphicsJS 因其強(qiáng)大且輕量級(jí)的特性而脫穎而出。它是一個(gè)強(qiáng)大的庫(kù),允許開(kāi)發(fā)人員以高精度和高性能繪製和動(dòng)畫(huà)化任何圖形。與其他庫(kù)不同,GraphicsJS 提供了一套全面的功能,包括圖層、漸變、圖案等等,而不會(huì)影響速度或效率。它還支持所有現(xiàn)代瀏覽器,使其成為開(kāi)發(fā)人員的多功能選擇。 </p>
    <h3 id="如何開(kāi)始使用-GraphicsJS">如何開(kāi)始使用 GraphicsJS? </h3>
    <p>要開(kāi)始使用 GraphicsJS,您需要在 HTML 文件中包含 GraphicsJS 庫(kù)。您可以從官方網(wǎng)站下載該庫(kù),也可以使用 CDN。包含該庫(kù)後,您可以通過(guò)調(diào)用該庫(kù)提供的適當(dāng)函數(shù)和方法來(lái)開(kāi)始創(chuàng)建圖形。 </p>
    <h3 id="我可以使用-GraphicsJS-創(chuàng)建複雜的動(dòng)畫(huà)嗎">我可以使用 GraphicsJS 創(chuàng)建複雜的動(dòng)畫(huà)嗎? </h3>
    <p>是的,GraphicsJS 旨在輕鬆處理複雜的動(dòng)畫(huà)。它提供了一套豐富的動(dòng)畫(huà)功能,包括緩動(dòng)函數(shù)、延遲和持續(xù)時(shí)間設(shè)置。您可以動(dòng)畫(huà)化圖形的任何屬性,例如其位置、大小、顏色等等。這使得 GraphicsJS 成為創(chuàng)建交互式和動(dòng)態(tài)圖形的強(qiáng)大工具。 </p>
    <h3 id="GraphicsJS-是否與所有瀏覽器兼容">GraphicsJS 是否與所有瀏覽器兼容? </h3>
    <p>GraphicsJS 旨在與所有現(xiàn)代瀏覽器兼容,包括 Chrome、Firefox、Safari 和 Internet Explorer。它使用 SVG 和 VML 進(jìn)行渲染,所有這些瀏覽器都支持它們。這確保您的圖形在不同的平臺(tái)和設(shè)備上看起來(lái)一致且性能良好。 </p>
    <h3 id="如何使用-GraphicsJS-創(chuàng)建漸變">如何使用 GraphicsJS 創(chuàng)建漸變? </h3>
    <p>使用 GraphicsJS 創(chuàng)建漸變很簡(jiǎn)單。您可以使用漸變方法定義線性或徑向漸變,指定顏色和位置,然後將漸變應(yīng)用於任何圖形。這使您可以輕鬆創(chuàng)建豐富多彩的圖形。 </p>
    <h3 id="我可以使用-GraphicsJS-創(chuàng)建交互式圖形嗎">我可以使用 GraphicsJS 創(chuàng)建交互式圖形嗎? </h3>
    <p>是的,GraphicsJS 提供了一套事件處理功能,允許您創(chuàng)建交互式圖形。您可以將事件偵聽(tīng)器附加到任何圖形,使您可以響應(yīng)用戶的操作,例如點(diǎn)擊、鼠標(biāo)移動(dòng)等等。這使得 GraphicsJS 成為創(chuàng)建交互式 Web 應(yīng)用程序的絕佳選擇。 </p>
    <h3 id="GraphicsJS-是否支持圖層">GraphicsJS 是否支持圖層? </h3>
    <p>是的,GraphicsJS 支持圖層,允許您將圖形組織到單獨(dú)的組中。每個(gè)圖層都可以獨(dú)立操作,從而更易於管理複雜的圖形。您還可以控制每個(gè)圖層的可見(jiàn)性和 z 順序,從而對(duì)圖形進(jìn)行細(xì)粒度控制。 </p>
    <h3 id="如何使用-GraphicsJS-優(yōu)化我的圖形">如何使用 GraphicsJS 優(yōu)化我的圖形? </h3>
    <p>GraphicsJS 提供了幾項(xiàng)功能,可以幫助您優(yōu)化圖形。例如,您可以使用裁剪方法隱藏指定區(qū)域之外的圖形部分,從而減少所需的渲染量。您還可以使用緩存方法來(lái)存儲(chǔ)圖形的渲染輸出,從而提高經(jīng)常重新繪製圖形的性能。 </p>
    <h3 id="我可以使用-GraphicsJS-創(chuàng)建圖表和圖形嗎">我可以使用 GraphicsJS 創(chuàng)建圖表和圖形嗎? </h3>
    <p>雖然 GraphicsJS 不是專門(mén)為創(chuàng)建圖表和圖形而設(shè)計(jì)的,但其強(qiáng)大的繪圖和動(dòng)畫(huà)功能使其可以創(chuàng)建任何類型的圖形,包括圖表和圖形。您可以使用庫(kù)的方法來(lái)繪製線條、曲線、矩形、圓形等等,從而創(chuàng)建各種圖表類型。 </p>
    <h3 id="GraphicsJS-是否免費(fèi)使用">GraphicsJS 是否免費(fèi)使用? </h3>
    <p>是的,GraphicsJS 是一個(gè)免費(fèi)的開(kāi)源庫(kù)。您可以在項(xiàng)目中免費(fèi)使用它。該庫(kù)也得到了積極維護(hù),確保它與最新的 Web 標(biāo)準(zhǔn)和技術(shù)保持同步。 </p><p>以上是介紹Graphicsjs,一個(gè)功能強(qiáng)大的輕量級(jí)圖形庫(kù)的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!</p>
    
    
    						</div>
    					</div>
    					<div   id="377j5v51b"   class="wzconShengming_sp">
    						<div   id="377j5v51b"   class="bzsmdiv_sp">本網(wǎng)站聲明</div>
    						<div>本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn</div>
    					</div>
    				</div>
    
    				<ins class="adsbygoogle"
         style="display:block"
         data-ad-format="autorelaxed"
         data-ad-client="ca-pub-5902227090019525"
         data-ad-slot="2507867629"></ins>
    
    
    
    				<div   id="377j5v51b"   class="AI_ToolDetails_main4sR">
    
    
    				<ins class="adsbygoogle"
            style="display:block"
            data-ad-client="ca-pub-5902227090019525"
            data-ad-slot="3653428331"
            data-ad-format="auto"
            data-full-width-responsive="true"></ins>
        
    
    
    					<!-- <div   id="377j5v51b"   class="phpgenera_Details_mainR4">
    						<div   id="377j5v51b"   class="phpmain1_4R_readrank">
    							<div   id="377j5v51b"   class="phpmain1_4R_readrank_top">
    								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    									src="/static/imghw/hotarticle2.png" alt="" />
    								<h2>熱門(mén)文章</h2>
    							</div>
    							<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottom">
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796821119.html" title="指南:恆星刀片保存文件位置/保存文件丟失/不保存" class="phpgenera_Details_mainR4_bottom_title">指南:恆星刀片保存文件位置/保存文件丟失/不保存</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>4 週前</span>
    										<span>By DDD</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796828723.html" title="Agnes Tachyon Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide |漂亮的德比志</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>2 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796827210.html" title="Oguri Cap Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Oguri Cap Build Guide |漂亮的德比志</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>2 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796821436.html" title="沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練" class="phpgenera_Details_mainR4_bottom_title">沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>4 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796821278.html" title="約會(huì)一切:德克和哈珀關(guān)係指南" class="phpgenera_Details_mainR4_bottom_title">約會(huì)一切:德克和哈珀關(guān)係指南</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>4 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    														</div>
    							<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
    								<a href="http://miracleart.cn/zh-tw/article.html">顯示更多</a>
    							</div>
    						</div>
    					</div> -->
    
    
    											<div   id="377j5v51b"   class="phpgenera_Details_mainR3">
    							<div   id="377j5v51b"   class="phpmain1_4R_readrank">
    								<div   id="377j5v51b"   class="phpmain1_4R_readrank_top">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/hottools2.png" alt="" />
    									<h2>熱AI工具</h2>
    								</div>
    								<div   id="377j5v51b"   class="phpgenera_Details_mainR3_bottom">
    																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173410641626608.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undress AI Tool" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_title">
    													<h3>Undress AI Tool</h3>
    												</a>
    												<p>免費(fèi)脫衣圖片</p>
    											</div>
    										</div>
    																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411540686492.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undresser.AI Undress" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_title">
    													<h3>Undresser.AI Undress</h3>
    												</a>
    												<p>人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片</p>
    											</div>
    										</div>
    																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411552797167.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="AI Clothes Remover" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_title">
    													<h3>AI Clothes Remover</h3>
    												</a>
    												<p>用於從照片中去除衣服的線上人工智慧工具。</p>
    											</div>
    										</div>
    																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411529149311.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Clothoff.io" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_title">
    													<h3>Clothoff.io</h3>
    												</a>
    												<p>AI脫衣器</p>
    											</div>
    										</div>
    																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173414504068133.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Video Face Swap" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_title">
    													<h3>Video Face Swap</h3>
    												</a>
    												<p>使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!</p>
    											</div>
    										</div>
    																</div>
    								<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
    									<a href="http://miracleart.cn/zh-tw/ai">顯示更多</a>
    								</div>
    							</div>
    						</div>
    					
    
    
    					<div   id="377j5v51b"   class="phpgenera_Details_mainR4">
    						<div   id="377j5v51b"   class="phpmain1_4R_readrank">
    							<div   id="377j5v51b"   class="phpmain1_4R_readrank_top">
    								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    									src="/static/imghw/hotarticle2.png" alt="" />
    								<h2>熱門(mén)文章</h2>
    							</div>
    							<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottom">
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796821119.html" title="指南:恆星刀片保存文件位置/保存文件丟失/不保存" class="phpgenera_Details_mainR4_bottom_title">指南:恆星刀片保存文件位置/保存文件丟失/不保存</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>4 週前</span>
    										<span>By DDD</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796828723.html" title="Agnes Tachyon Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide |漂亮的德比志</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>2 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796827210.html" title="Oguri Cap Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Oguri Cap Build Guide |漂亮的德比志</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>2 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796821436.html" title="沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練" class="phpgenera_Details_mainR4_bottom_title">沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>4 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/1796821278.html" title="約會(huì)一切:德克和哈珀關(guān)係指南" class="phpgenera_Details_mainR4_bottom_title">約會(huì)一切:德克和哈珀關(guān)係指南</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<span>4 週前</span>
    										<span>By Jack chen</span>
    									</div>
    								</div>
    														</div>
    							<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
    								<a href="http://miracleart.cn/zh-tw/article.html">顯示更多</a>
    							</div>
    						</div>
    					</div>
    
    
    											<div   id="377j5v51b"   class="phpgenera_Details_mainR3">
    							<div   id="377j5v51b"   class="phpmain1_4R_readrank">
    								<div   id="377j5v51b"   class="phpmain1_4R_readrank_top">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/hottools2.png" alt="" />
    									<h2>熱工具</h2>
    								</div>
    								<div   id="377j5v51b"   class="phpgenera_Details_mainR3_bottom">
    																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/toolset/development-tools/92" title="記事本++7.3.1" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab96f0f39f7357.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="記事本++7.3.1" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/toolset/development-tools/92" title="記事本++7.3.1" class="phpmain_tab2_mids_title">
    													<h3>記事本++7.3.1</h3>
    												</a>
    												<p>好用且免費(fèi)的程式碼編輯器</p>
    											</div>
    										</div>
    																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/toolset/development-tools/93" title="SublimeText3漢化版" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab97a3baad9677.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3漢化版" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/toolset/development-tools/93" title="SublimeText3漢化版" class="phpmain_tab2_mids_title">
    													<h3>SublimeText3漢化版</h3>
    												</a>
    												<p>中文版,非常好用</p>
    											</div>
    										</div>
    																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/toolset/development-tools/121" title="禪工作室 13.0.1" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab97ecd1ab2670.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="禪工作室 13.0.1" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/toolset/development-tools/121" title="禪工作室 13.0.1" class="phpmain_tab2_mids_title">
    													<h3>禪工作室 13.0.1</h3>
    												</a>
    												<p>強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境</p>
    											</div>
    										</div>
    																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58d0e0fc74683535.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="Dreamweaver CS6" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_title">
    													<h3>Dreamweaver CS6</h3>
    												</a>
    												<p>視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具</p>
    											</div>
    										</div>
    																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
    											<a href="http://miracleart.cn/zh-tw/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_top_img">
    												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58d34035e2757995.png?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3 Mac版" />
    											</a>
    											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
    												<a href="http://miracleart.cn/zh-tw/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_title">
    													<h3>SublimeText3 Mac版</h3>
    												</a>
    												<p>神級(jí)程式碼編輯軟體(SublimeText3)</p>
    											</div>
    										</div>
    																	</div>
    								<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
    									<a href="http://miracleart.cn/zh-tw/ai">顯示更多</a>
    								</div>
    							</div>
    						</div>
    										
    
    					
    					<div   id="377j5v51b"   class="phpgenera_Details_mainR4">
    						<div   id="377j5v51b"   class="phpmain1_4R_readrank">
    							<div   id="377j5v51b"   class="phpmain1_4R_readrank_top">
    								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    									src="/static/imghw/hotarticle2.png" alt="" />
    								<h2>熱門(mén)話題</h2>
    							</div>
    							<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottom">
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/gmailyxdlrkzn" title="gmail信箱登陸入口在哪裡" class="phpgenera_Details_mainR4_bottom_title">gmail信箱登陸入口在哪裡</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/eyess.png" alt="" />
    											<span>8638</span>
    										</div>
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/tiezi.png" alt="" />
    											<span>17</span>
    										</div>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/java-tutorial" title="Java教學(xué)" class="phpgenera_Details_mainR4_bottom_title">Java教學(xué)</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/eyess.png" alt="" />
    											<span>1783</span>
    										</div>
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/tiezi.png" alt="" />
    											<span>16</span>
    										</div>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/cakephp-tutor" title="CakePHP 教程" class="phpgenera_Details_mainR4_bottom_title">CakePHP 教程</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/eyess.png" alt="" />
    											<span>1728</span>
    										</div>
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/tiezi.png" alt="" />
    											<span>56</span>
    										</div>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/laravel-tutori" title="Laravel 教程" class="phpgenera_Details_mainR4_bottom_title">Laravel 教程</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/eyess.png" alt="" />
    											<span>1579</span>
    										</div>
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/tiezi.png" alt="" />
    											<span>28</span>
    										</div>
    									</div>
    								</div>
    															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
    									<a href="http://miracleart.cn/zh-tw/faq/php-tutorial" title="PHP教程" class="phpgenera_Details_mainR4_bottom_title">PHP教程</a>
    									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/eyess.png" alt="" />
    											<span>1444</span>
    										</div>
    										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
    											<img src="/static/imghw/tiezi.png" alt="" />
    											<span>31</span>
    										</div>
    									</div>
    								</div>
    														</div>
    							<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
    								<a href="http://miracleart.cn/zh-tw/faq/zt">顯示更多</a>
    							</div>
    						</div>
    					</div>
    				</div>
    			</div>
    							<div   id="377j5v51b"   class="Article_Details_main2">
    					<div   id="377j5v51b"   class="phpgenera_Details_mainL4">
    						<div   id="377j5v51b"   class="phpmain1_2_top">
    							<a href="javascript:void(0);" class="phpmain1_2_top_title">Related knowledge<img
    									src="/static/imghw/index2_title2.png" alt="" /></a>
    						</div>
    						<div   id="377j5v51b"   class="phpgenera_Details_mainL4_info">
    
    													<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796822063.html" title="Java vs. JavaScript:清除混亂" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175035046165294.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Java vs. JavaScript:清除混亂" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796822063.html" title="Java vs. JavaScript:清除混亂" class="phphistorical_Version2_mids_title">Java vs. JavaScript:清除混亂</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 20, 2025 am	 12:27 AM</span>
    								<p class="Articlelist_txts_p">Java和JavaScript是不同的編程語(yǔ)言,各自適用於不同的應(yīng)用場(chǎng)景。 Java用於大型企業(yè)和移動(dòng)應(yīng)用開(kāi)發(fā),而JavaScript主要用於網(wǎng)頁(yè)開(kāi)發(fā)。</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796821632.html" title="JavaScript評(píng)論:簡(jiǎn)短說(shuō)明" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175026483186295.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript評(píng)論:簡(jiǎn)短說(shuō)明" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796821632.html" title="JavaScript評(píng)論:簡(jiǎn)短說(shuō)明" class="phphistorical_Version2_mids_title">JavaScript評(píng)論:簡(jiǎn)短說(shuō)明</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 19, 2025 am	 12:40 AM</span>
    								<p class="Articlelist_txts_p">JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796827639.html" title="如何在JS中與日期和時(shí)間合作?" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175130445135407.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="如何在JS中與日期和時(shí)間合作?" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796827639.html" title="如何在JS中與日期和時(shí)間合作?" class="phphistorical_Version2_mids_title">如何在JS中與日期和時(shí)間合作?</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jul 01, 2025 am	 01:27 AM</span>
    								<p class="Articlelist_txts_p">JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對(duì)像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開(kāi)始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫(kù);4.處理時(shí)區(qū)問(wèn)題建議使用支持時(shí)區(qū)的庫(kù),如Luxon。掌握這些要點(diǎn)能有效避免常見(jiàn)錯(cuò)誤。</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796828200.html" title="為什麼要將標(biāo)籤放在的底部?" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175139053194540.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="為什麼要將標(biāo)籤放在的底部?" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796828200.html" title="為什麼要將標(biāo)籤放在的底部?" class="phphistorical_Version2_mids_title">為什麼要將標(biāo)籤放在的底部?</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:22 AM</span>
    								<p class="Articlelist_txts_p">PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796822037.html" title="JavaScript與Java:開(kāi)發(fā)人員的全面比較" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175035006093854.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript與Java:開(kāi)發(fā)人員的全面比較" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796822037.html" title="JavaScript與Java:開(kāi)發(fā)人員的全面比較" class="phphistorical_Version2_mids_title">JavaScript與Java:開(kāi)發(fā)人員的全面比較</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 20, 2025 am	 12:21 AM</span>
    								<p class="Articlelist_txts_p">JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796822137.html" title="JavaScript:探索用於高效編碼的數(shù)據(jù)類型" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175035157160537.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript:探索用於高效編碼的數(shù)據(jù)類型" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796822137.html" title="JavaScript:探索用於高效編碼的數(shù)據(jù)類型" class="phphistorical_Version2_mids_title">JavaScript:探索用於高效編碼的數(shù)據(jù)類型</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 20, 2025 am	 12:46 AM</span>
    								<p class="Articlelist_txts_p">javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796828191.html" title="什麼是在DOM中冒泡和捕獲的事件?" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175139034116786.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="什麼是在DOM中冒泡和捕獲的事件?" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796828191.html" title="什麼是在DOM中冒泡和捕獲的事件?" class="phphistorical_Version2_mids_title">什麼是在DOM中冒泡和捕獲的事件?</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:19 AM</span>
    								<p class="Articlelist_txts_p">事件捕獲和冒泡是DOM中事件傳播的兩個(gè)階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。 1.事件捕獲通過(guò)addEventListener的useCapture參數(shù)設(shè)為true實(shí)現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動(dòng)態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯(cuò)誤處理。了解這兩個(gè)階段有助於精確控制JavaScript響應(yīng)用戶操作的時(shí)機(jī)和方式。</p>
    							</div>
    														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
    								<a href="http://miracleart.cn/zh-tw/faq/1796820615.html" title="Java和JavaScript有什麼區(qū)別?" class="phphistorical_Version2_mids_img">
    									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
    										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175012302052703.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Java和JavaScript有什麼區(qū)別?" />
    								</a>
    								<a href="http://miracleart.cn/zh-tw/faq/1796820615.html" title="Java和JavaScript有什麼區(qū)別?" class="phphistorical_Version2_mids_title">Java和JavaScript有什麼區(qū)別?</a>
    								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 17, 2025 am	 09:17 AM</span>
    								<p class="Articlelist_txts_p">Java和JavaScript是不同的編程語(yǔ)言。 1.Java是靜態(tài)類型、編譯型語(yǔ)言,適用於企業(yè)應(yīng)用和大型系統(tǒng)。 2.JavaScript是動(dòng)態(tài)類型、解釋型語(yǔ)言,主要用於網(wǎng)頁(yè)交互和前端開(kāi)發(fā)。</p>
    							</div>
    													</div>
    
    													<a href="http://miracleart.cn/zh-tw/web-designer.html" class="phpgenera_Details_mainL4_botton">
    								<span>See all articles</span>
    								<img src="/static/imghw/down_right.png" alt="" />
    							</a>
    											</div>
    				</div>
    					</div>
    	</main>
    	<footer>
        <div   id="377j5v51b"   class="footer">
            <div   id="377j5v51b"   class="footertop">
                <img src="/static/imghw/logo.png" alt="">
                <p>公益線上PHP培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!</p>
            </div>
            <div   id="377j5v51b"   class="footermid">
                <a href="http://miracleart.cn/zh-tw/about/us.html">關(guān)於我們</a>
                <a href="http://miracleart.cn/zh-tw/about/disclaimer.html">免責(zé)聲明</a>
                <a href="http://miracleart.cn/zh-tw/update/article_0_1.html">Sitemap</a>
            </div>
            <div   id="377j5v51b"   class="footerbottom">
                <p>
                    ? php.cn All rights reserved
                </p>
            </div>
        </div>
    </footer>
    
    <input type="hidden" id="verifycode" value="/captcha.html">
    
    
    
    
    		<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
    	
    	
    	
    	
    	
    
    	
    	
    
    
    
    
    
    
    <footer>
    <div class="friendship-link">
    <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p>
    <a href="http://miracleart.cn/" title="国产av日韩一区二区三区精品">国产av日韩一区二区三区精品</a>
    
    <div class="friend-links">
    
    
    </div>
    </div>
    
    </footer>
    
    
    <script>
    (function(){
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        }
        else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
    </script>
    </body><div id="8amio" class="pl_css_ganrao" style="display: none;"><fieldset id="8amio"></fieldset><rt id="8amio"></rt><center id="8amio"></center><fieldset id="8amio"></fieldset><menu id="8amio"></menu><del id="8amio"><rt id="8amio"><table id="8amio"></table></rt></del><option id="8amio"></option><input id="8amio"></input><wbr id="8amio"></wbr><dd id="8amio"><noframes id="8amio"><code id="8amio"></code></noframes></dd><abbr id="8amio"></abbr><ul id="8amio"></ul><tbody id="8amio"></tbody><source id="8amio"><sup id="8amio"><li id="8amio"></li></sup></source><dfn id="8amio"></dfn><td id="8amio"></td><option id="8amio"></option><tbody id="8amio"></tbody><option id="8amio"><strong id="8amio"><blockquote id="8amio"></blockquote></strong></option><option id="8amio"><cite id="8amio"><samp id="8amio"></samp></cite></option><dd id="8amio"><noframes id="8amio"><dl id="8amio"></dl></noframes></dd><acronym id="8amio"></acronym><kbd id="8amio"></kbd><tbody id="8amio"><tr id="8amio"><nav id="8amio"></nav></tr></tbody><bdo id="8amio"></bdo><acronym id="8amio"></acronym><acronym id="8amio"><strong id="8amio"><td id="8amio"></td></strong></acronym><dd id="8amio"><pre id="8amio"><fieldset id="8amio"></fieldset></pre></dd><source id="8amio"></source><abbr id="8amio"></abbr><optgroup id="8amio"><strike id="8amio"><kbd id="8amio"></kbd></strike></optgroup><input id="8amio"></input><th id="8amio"></th><li id="8amio"></li><input id="8amio"></input><tfoot id="8amio"></tfoot><strike id="8amio"><kbd id="8amio"><input id="8amio"></input></kbd></strike><bdo id="8amio"><dd id="8amio"><button id="8amio"></button></dd></bdo><samp id="8amio"><input id="8amio"><th id="8amio"></th></input></samp><noframes id="8amio"></noframes><button id="8amio"></button><strike id="8amio"></strike><abbr id="8amio"></abbr><pre id="8amio"></pre><input id="8amio"></input><tbody id="8amio"><tr id="8amio"><noframes id="8amio"></noframes></tr></tbody><abbr id="8amio"><rt id="8amio"><pre id="8amio"></pre></rt></abbr><dd id="8amio"></dd><strike id="8amio"></strike><tr id="8amio"></tr><table id="8amio"><strong id="8amio"><blockquote id="8amio"></blockquote></strong></table><nav id="8amio"><tfoot id="8amio"><xmp id="8amio"></xmp></tfoot></nav><pre id="8amio"><tr id="8amio"><s id="8amio"></s></tr></pre><center id="8amio"></center><abbr id="8amio"></abbr><pre id="8amio"></pre><dd id="8amio"></dd><strong id="8amio"><menu id="8amio"><acronym id="8amio"></acronym></menu></strong><td id="8amio"></td><menu id="8amio"></menu><menu id="8amio"></menu><menu id="8amio"></menu><strike id="8amio"></strike><tfoot id="8amio"></tfoot><del id="8amio"></del><rt id="8amio"></rt><wbr id="8amio"><button id="8amio"><fieldset id="8amio"></fieldset></button></wbr><sup id="8amio"><bdo id="8amio"><source id="8amio"></source></bdo></sup><fieldset id="8amio"><wbr id="8amio"><sup id="8amio"></sup></wbr></fieldset><dfn id="8amio"></dfn><ul id="8amio"></ul><code id="8amio"><xmp id="8amio"><abbr id="8amio"></abbr></xmp></code><rt id="8amio"></rt><li id="8amio"></li><tbody id="8amio"></tbody><em id="8amio"></em><small id="8amio"></small><tbody id="8amio"></tbody><del id="8amio"><menu id="8amio"><pre id="8amio"></pre></menu></del><center id="8amio"></center><cite id="8amio"></cite><tr id="8amio"><li id="8amio"><wbr id="8amio"></wbr></li></tr><kbd id="8amio"></kbd><tr id="8amio"></tr><pre id="8amio"></pre><abbr id="8amio"></abbr><s id="8amio"></s><th id="8amio"><ul id="8amio"><input id="8amio"></input></ul></th><small id="8amio"><samp id="8amio"><optgroup id="8amio"></optgroup></samp></small><dl id="8amio"><tbody id="8amio"><blockquote id="8amio"></blockquote></tbody></dl><source id="8amio"></source><code id="8amio"><wbr id="8amio"><button id="8amio"></button></wbr></code><strike id="8amio"></strike><pre id="8amio"></pre><cite id="8amio"></cite><tr id="8amio"><s id="8amio"><option id="8amio"></option></s></tr><s id="8amio"></s><table id="8amio"><tbody id="8amio"><td id="8amio"></td></tbody></table><button id="8amio"></button><noframes id="8amio"></noframes><strike id="8amio"></strike><abbr id="8amio"></abbr><nav id="8amio"><fieldset id="8amio"><delect id="8amio"></delect></fieldset></nav><table id="8amio"></table><tr id="8amio"></tr><pre id="8amio"></pre><ul id="8amio"><table id="8amio"><cite id="8amio"></cite></table></ul><wbr id="8amio"></wbr><menu id="8amio"></menu><tfoot id="8amio"><delect id="8amio"><abbr id="8amio"></abbr></delect></tfoot><samp id="8amio"></samp><tbody id="8amio"><tr id="8amio"><s id="8amio"></s></tr></tbody><nav id="8amio"></nav><button id="8amio"></button><sup id="8amio"><ul id="8amio"><optgroup id="8amio"></optgroup></ul></sup><em id="8amio"><small id="8amio"><samp id="8amio"></samp></small></em><samp id="8amio"><optgroup id="8amio"><th id="8amio"></th></optgroup></samp><dd id="8amio"></dd><menu id="8amio"><tfoot id="8amio"><delect id="8amio"></delect></tfoot></menu><object id="8amio"><tr id="8amio"><kbd id="8amio"></kbd></tr></object><xmp id="8amio"></xmp><tr id="8amio"><kbd id="8amio"><input id="8amio"></input></kbd></tr><table id="8amio"><strong id="8amio"><center id="8amio"></center></strong></table><menu id="8amio"></menu><dd id="8amio"></dd><xmp id="8amio"></xmp><optgroup id="8amio"></optgroup><menu id="8amio"></menu><fieldset id="8amio"></fieldset><input id="8amio"></input><dfn id="8amio"><bdo id="8amio"><object id="8amio"></object></bdo></dfn><xmp id="8amio"></xmp><strike id="8amio"></strike><rt id="8amio"><pre id="8amio"><tbody id="8amio"></tbody></pre></rt><fieldset id="8amio"><delect id="8amio"><noframes id="8amio"></noframes></delect></fieldset><wbr id="8amio"></wbr><ul id="8amio"><em id="8amio"><cite id="8amio"></cite></em></ul><bdo id="8amio"></bdo><optgroup id="8amio"></optgroup><strong id="8amio"><center id="8amio"><option id="8amio"></option></center></strong><fieldset id="8amio"><tr id="8amio"><menu id="8amio"></menu></tr></fieldset><optgroup id="8amio"></optgroup><tr id="8amio"></tr><xmp id="8amio"><noframes id="8amio"><fieldset id="8amio"></fieldset></noframes></xmp><input id="8amio"></input><dfn id="8amio"><kbd id="8amio"><input id="8amio"></input></kbd></dfn><blockquote id="8amio"></blockquote><dd id="8amio"></dd></div>
    
    </html>