cari
Rumahhujung hadapan webTutorial H5Gambaran Keseluruhan Kanvas HTML5_html5 Petua Tutorial

ialah elemen HTML baharu yang boleh digunakan untuk melukis grafik menggunakan bahasa Skrip (biasanya JavaScript). Contohnya, anda boleh menggunakannya untuk melukis gambar, imej komposit atau membuat animasi yang mudah (dan tidak begitu mudah). Imej di sebelah kanan menunjukkan beberapa contoh pelaksanaan

mula-mula diperkenalkan dalam Papan Pemuka Mac OS X Apple dan kemudian digunakan dalam Safari. Pelayar berdasarkan Gecko 1.8, seperti Firefox 1.5, juga menyokong elemen baharu ini. Elemen adalah sebahagian daripada aplikasi Web WhatWG 1.0, juga dikenali sebagai spesifikasi standard HTML 5.

Dalam tutorial ini, saya akan cuba menerangkan cara menggunakan elemen Contoh yang diberikan harus memberi anda gambaran yang jelas tentang perkara yang boleh dilakukan dengan . Contoh ini juga boleh berfungsi sebagai titik permulaan untuk aplikasi anda sendiri.

Sebelum anda bermula
Menggunakan elemen tidak sukar, asalkan anda mempunyai pengetahuan asas tentang HTML dan JavaScript.

Seperti yang dinyatakan di atas, tidak semua penyemak imbas moden menyokong elemen jadi anda memerlukan Firefox 1.5 atau lebih baharu, atau penyemak imbas berasaskan Gecko lain seperti Opera 9, atau versi terbaru Safari untuk melihat semua tindakan Contoh.

elemen

Mari mulakan tutorial ini dengan melihat elemen itu sendiri
Mari mulakan dengan takrifan elemen .

<canvas id="tutorial" width="150" height="150"></canvas>

Ini kelihatan seperti elemen Gambaran Keseluruhan Kanvas HTML5_html5 Petua Tutorial, satu-satunya perbezaan ialah ia tidak mempunyai atribut src dan alt ;kanvas> kelihatan sangat serupa dengan Gambaran Keseluruhan Kanvas HTML5_html5 Petua Tutorial, satu-satunya perbezaan ialah ia tidak mengandungi atribut src dan alt . Elemen hanya mempunyai dua atribut - lebar dan tinggi Kedua-duanya adalah pilihan dan juga boleh ditetapkan menggunakan sifat DOM atau peraturan CSS hanyalah dua sifat, lebar dan tinggi, kedua-duanya adalah pilihan dan boleh ditetapkan menggunakan DOM atau CSS. Apabila tiada atribut lebar dan ketinggian ditentukan, kanvas pada mulanya akan menjadi 300 piksel lebar dan 150 piksel tinggi Jika atribut lebar dan ketinggian tidak dinyatakan, lalainya ialah 300 lebar piksel. , tinggi 150 piksel . Elemen boleh disaizkan sewenang-wenangnya oleh CSS, tetapi semasa pemaparan imej diskalakan agar sesuai dengan saiz reka letaknya (Jika pemaparan anda kelihatan herot, cuba nyatakan atribut lebar dan ketinggian anda secara eksplisit dalam atribut . , dan bukan dengan CSS.) Walaupun saiz kanvas boleh dilaraskan melalui CSS, imej yang diberikan akan diskalakan agar sesuai dengan reka letak (jika anda mendapati bahawa hasil pemaparan kelihatan cacat, anda tidak perlu bergantung sepenuhnya pada CSS . Anda boleh cuba menentukan secara eksplisit lebar kanvas dan nilai atribut tinggi).

Atribut id tidak khusus untuk elemen tetapi merupakan salah satu atribut HTML lalai yang boleh digunakan pada (hampir) setiap elemen HTML (seperti kelas contohnya). Adalah idea yang baik untuk membekalkan id kerana ini lebih memudahkan untuk mengenal pastinya dalam skrip kami.
id atribut bukan Eksklusif, sama seperti teg HTML standard, mana-mana elemen HTML boleh menentukan nilai idnya. Secara umumnya, adalah idea yang baik untuk memberikan id kepada elemen, yang memudahkan penggunaannya dalam skrip.

Elemen boleh digayakan seperti mana-mana imej biasa (margin, jidar, latar belakang, dll. Walau bagaimanapun, peraturan ini tidak menjejaskan lukisan sebenar pada kanvas). lihat cara ini dilakukan kemudian dalam tutorial ini Apabila tiada peraturan penggayaan digunakan pada kanvas, elemen boleh digayakan seperti imej biasa (margin, sempadan , latar belakang, dsb.). Walau bagaimanapun, gaya ini tidak akan memberi kesan pada imej sebenar yang dijana oleh kanvas. Seterusnya kita akan melihat cara menggunakan gaya. Jika tiada gaya dinyatakan, kanvas adalah telus sepenuhnya secara lalai.

Kandungan ganti

Oleh kerana elemen masih agak baharu dan tidak dilaksanakan dalam sesetengah penyemak imbas (seperti Firefox 1.0 dan Internet Explorer), kami memerlukan satu cara untuk menyediakan kandungan sandaran apabila penyemak imbas tidak tidak menyokong elemen.

因为 相对较新,有些浏览器并没实现,如Firefox 1.0 和 Internet Explorer,所以我们需要为那些不支持canvas的浏览器提供替用显示内容。

Luckily this is very straightforward: we just provide alternative content inside the canvas element. Browsers who don't support it will ignore the element completely and render the fallback content, others will just render the canvas normally.
For instance we could provide a text description of the canvas content or provide a static image of the dynamically rendered content. This can look something like this:

我们只需要直接在canvas元素内插入替用内容即可。不支持canvas的浏览器会忽略canvas元素而直接渲染替用内容,而支持的浏览器则会正常地渲染canvas。例如,我们可以把一些文字或图片填入canvas内,作为替用内容:

<canvas id="stockGraph" width="150" height="150">
  current stock price: $3.15 +0.15
</canvas>

<canvas id="clock" width="150" height="150">
  <img  src="/static/imghwm/default1.png"  data-src="images/clock.png"  class="lazy"    style="max-width:90%"  style="max-width:90%"/ alt="Gambaran Keseluruhan Kanvas HTML5_html5 Petua Tutorial" >
</canvas>

结束标签 是必须的

In the Apple Safari implementation, is an element implemented in much the same way Gambaran Keseluruhan Kanvas HTML5_html5 Petua Tutorial is; it does not have an end tag. However, for to have widespread use on the web, some facility for fallback content must be provided. Therefore, Mozilla's implementation requires an end tag ().

在Apple Safari里,的实现跟Gambaran Keseluruhan Kanvas HTML5_html5 Petua Tutorial很相似,它并不没有结束标签。然而,为了使 能在web的世界里广泛适用,需要给替用内容提供一个容身之所,因此,在Mozilla的实现里结束标签()是必须的。

If fallback content is not needed, a simple will be fully compatible with both Safari and Mozilla -- Safari will simply ignore the end tag.

如果没有替用内容, 对 Safari 和 Mozilla 是完全兼容的—— Safari 会简单地忽略结束标签。

If fallback content is desired, some CSS tricks must be employed to mask the fallback content from Safari (which should render just the canvas), and also to mask the CSS tricks themselves from IE (which should render the fallback content).

如果有替用内容,那么可以用一些 CSS 技巧来为并且仅为 Safari 隐藏替用内容,因为那些替用内容是需要在 IE 里显示但不需要在 Safari 里显示。

渲染上下文(Rendering Context)

creates a fixed size drawing surface that exposes one or more rendering contexts, which are used to create and manipulate the content shown. We'll focus on the 2D rendering context, which is the only currently defined rendering context. In the future, other contexts may provide different types of rendering; for example, it is likely that a 3D context based on OpenGL ES will be added.

创建的固定尺寸的绘图画面开放了一个或多个渲染上下文(rendering context),我们可以通过它们来控制要显示的内容。我们专注于2D 渲染上,这也是目前唯一的选择,可能在将来会添加基于OpenGL ES 的 3D 上下文。

The is initially blank, and to display something a script first needs to access the rendering context and draw on it. The canvas element has a DOM method called getContext, used to obtain the rendering context and its drawing functions. getContext() takes one parameter, the type of context.

初始化是空白的,要在上面用脚本画图首先需要其渲染上下文(rendering context),它可以通过 canvas 元素对象的 getContext 方法来获取,同时得到的还有一些画图用的函数。getContext() 接受一个用于描述其类型的值作为参数。

var canvas = document.getElementById('tutorial');
var ctx = canvas.getContext('2d');

In the first line we retrieve the canvas DOM node using the getElementById method. We can then access the drawing context using the getContext method.

上面第一行通过 getElementById 方法取得 canvas 对象的 DOM 节点。然后通过其 getContext 方法取得其画图操作上下文。

检查浏览器的支持

The fallback content is displayed in browsers which do not support ; scripts can also check for support when they execute. This can easily be done by testing for the getContext method. Our code snippet from above becomes something like this:

除了在那些不支持  的浏览器上显示替用内容,还可以通过脚本的方式来检查浏览器是否支持 canvas 。方法很简单,判断 getContext 是否存在即可。

var canvas = document.getElementById('tutorial');
if (canvas.getContext){
  var ctx = canvas.getContext('2d');
  // drawing code here
} else {
  // canvas-unsupported code here
}

代码模板

Here is a minimalistic template, which we'll be using as a starting point for later examples. You can download this file to work with on your system.

我们会用下面这个最简化的代码模板来(后续的示例需要用到)作为开始,你可以 下载文件 到本地备用。


  
    Canvas tutorial
    
    
  
  
    <canvas id="tutorial" width="150" height="150"></canvas>
  

If you look at the script you'll see I've made a function called draw, which will get executed once the page finishes loading (via the onload attribute on the body tag). This function could also have been called from a setTimeout, setInterval, or any other event handler function just as long the page has been loaded first.

细心的你会发现我准备了一个名为 draw 的函数,它会在页面装载完毕之后执行一次(通过设置 body 标签的 onload 属性),它当然也可以在 setTimeout,setInterval,或者其他事件处理函数中被调用。

一个简单的例子

To start off, here's a simple example that draws two intersecting rectangles, one of which has alpha transparency. We'll explore how this works in more detail in later examples.

作为开始,来一个简单的吧——绘制两个交错的矩形,其中一个是有alpha透明效果。我们会在后面的示例中详细的让你了解它是如何运作的。

<html>
 <head>
  <script type="application/x-javascript">
    function draw() {
      var canvas = document.getElementById("canvas");
      if (canvas.getContext) {
        var ctx = canvas.getContext("2d");

        ctx.fillStyle = "rgb(200,0,0)";
        ctx.fillRect (10, 10, 55, 50);

        ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
        ctx.fillRect (30, 30, 55, 50);
      }
    }
  </script>
 </head>
 <body onload="draw();">
   <canvas id="canvas" width="150" height="150"></canvas>
 </body>
</html>
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Kod H5: Amalan Terbaik untuk Pemaju WebKod H5: Amalan Terbaik untuk Pemaju WebApr 16, 2025 am 12:14 AM

Amalan terbaik untuk kod H5 termasuk: 1. Gunakan pengisytiharan dan pengekodan watak yang betul; 2. Gunakan tag semantik; 3. Mengurangkan permintaan HTTP; 4. Gunakan pemuatan asynchronous; 5. Mengoptimumkan imej. Amalan ini dapat meningkatkan kecekapan, penyelenggaraan dan pengalaman pengguna halaman web.

H5: Evolusi piawaian dan teknologi webH5: Evolusi piawaian dan teknologi webApr 15, 2025 am 12:12 AM

Piawaian dan teknologi web telah berkembang dari HTML4, CSS2 dan JavaScript mudah setakat ini dan telah menjalani perkembangan yang ketara. 1) HTML5 memperkenalkan API seperti kanvas dan webstorage, yang meningkatkan kerumitan dan interaktiviti aplikasi web. 2) CSS3 menambah fungsi animasi dan peralihan untuk menjadikan halaman lebih berkesan. 3) JavaScript meningkatkan kecekapan pembangunan dan kebolehbacaan kod melalui sintaks moden node.js dan ES6, seperti fungsi anak panah dan kelas. Perubahan ini telah mempromosikan pembangunan pengoptimuman prestasi dan amalan terbaik aplikasi web.

Adakah H5 adalah singkat untuk HTML5? Meneroka butiranAdakah H5 adalah singkat untuk HTML5? Meneroka butiranApr 14, 2025 am 12:05 AM

H5 bukan sekadar singkatan HTML5, ia mewakili ekosistem teknologi pembangunan web moden yang lebih luas: 1. H5 termasuk HTML5, CSS3, JavaScript dan API dan Teknologi yang berkaitan; 2. Ia menyediakan pengalaman pengguna yang lebih kaya, interaktif dan lancar, dan boleh berjalan dengan lancar pada pelbagai peranti; 3. Menggunakan timbunan teknologi H5, anda boleh membuat laman web responsif dan fungsi interaktif yang kompleks.

H5 dan HTML5: Istilah yang biasa digunakan dalam pembangunan webH5 dan HTML5: Istilah yang biasa digunakan dalam pembangunan webApr 13, 2025 am 12:01 AM

H5 dan HTML5 merujuk kepada perkara yang sama, iaitu HTML5. HTML5 adalah versi kelima HTML, membawa ciri -ciri baru seperti tag semantik, sokongan multimedia, kanvas dan grafik, penyimpanan luar talian dan penyimpanan tempatan, meningkatkan ekspresi dan interaktiviti laman web.

Apa yang dirujuk oleh H5? Meneroka konteksApa yang dirujuk oleh H5? Meneroka konteksApr 12, 2025 am 12:03 AM

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

H5: Alat, Rangka Kerja, dan Amalan TerbaikH5: Alat, Rangka Kerja, dan Amalan TerbaikApr 11, 2025 am 12:11 AM

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Warisan HTML5: Memahami H5 pada masa kiniWarisan HTML5: Memahami H5 pada masa kiniApr 10, 2025 am 09:28 AM

Html5hassignificlylylectransformedwebdevelopmentbyintroducingsemanticelements, enhancingmultimediasupport, andimprovingperformance.1) itmadewebebsitesmoreaccessibleandseo-friendlywithSemhyViVeShive, dan

Kod H5: Kebolehcapaian dan HTML SemantikKod H5: Kebolehcapaian dan HTML SemantikApr 09, 2025 am 12:05 AM

H5 meningkatkan kebolehaksesan laman web dan kesan SEO melalui unsur -unsur semantik dan atribut ARIA. 1. Gunakan, dan lain -lain untuk mengatur struktur kandungan dan meningkatkan SEO. 2. Atribut Aria seperti ARIA-Label meningkatkan kebolehcapaian, dan pengguna teknologi bantuan boleh menggunakan laman web dengan lancar.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.