Dessin de base
Code XML/HTMLCopier le contenu dans le presse-papiers
- var canvas = document.getElementById('canvas'); >
if (canvas.getContext) { -
var -
context = canvas.getContext('2d');
// Largeur de trait
-
context.lineWidth-
= 4 ;
// Couleur du pinceau
-
context.StrokeStyle-
= 'rouge';
// Couleur de remplissage
- context.fillStyle
= -
"rouge";
// Type de capuchon de ligne
context.lineCap- =
'fesses'-
; // rond, carré
// Chemin de départ
context.beginPath();
- // Point de départ
- context.moveTo(10,10);
- // Point final
- context.lineTo(150,50);
- // Dessin
- contexte.AVC();
- }
-
- Rectangle
Code XML/HTML
Copier le contenu dans le presse-papiers
var canvas
=
- document.getElementById('canvas'); >
if (canvas.getContext) {
context.beginPath();
context.StrokeRect(10,10,70,40); -
// Une autre façon de rectangle -
context.rect(10,10.70,40); -
contexte.AVC(); -
-
// rectangle plein -
context.beginPath(); -
context.fillRect(10,10,70,40); -
// Une autre façon de rectangle solide -
context.beginPath(); -
context.rect(10,10,70,40); -
context.fill(); -
} -
-
Rond-
Code XML/HTML
Copier le contenu dans le presse-papiers
- var canvas = document.getElementById('canvas'); >
if (canvas.getContext) { -
context.beginPath(); -
// Coordonnée du centre du cercle x, coordonnée du centre du cercle Y, rayon de l'arc, angle de départ, angle de fin, que ce soit dans le sens inverse des aiguilles d'une montre -
// Les quatrième et cinquième paramètres sont les radians à transmettre. Si vous dessinez un angle de 30, vous devez le convertir en radians 30 * Math.PI/180 -
context.arc(100,100,70,0,130 * Math.PI / 180, vrai - );
contexte.AVC(); -
context.fill(); -
} -
Coins arrondis
Code XML/HTML
Copier le contenu dans le presse-papiers
- var canvas = document.getElementById('canvas'); >
if (canvas.getContext) {
- context.beginPath();
- context.moveTo(20,20);
- context.lineTo(70,20);
- // Dessine l'arc p1.x p1.y p2.x, p2.y rayon d'arc pour un chemin,
- context.arcTo(120,30,120,70, 50);
- context.lineTo(120,120);
- contexte.AVC();
-
- // Effacer le plan de travail sur toile
- context.beginPath();
- context.fillRect(10,10,200,100);
-
- // Effacer la zone
- context.clearRect(30,30,50,50);
- }
-
Courbe de Bézier quadratique
Code XML/HTML
Copier le contenu dans le presse-papiers
var
- canvas = document.getElementById('canvas'); >
if (canvas.getContext) {
context.beginPath(); -
contexte.moveTo(100,100); -
context.quadraticCurveTo(20,50,200,20); -
contexte.AVC(); -
} -
-
Courbe de Bézier cubique
Code XML/HTML
Copier le contenu dans le presse-papiers
- var canvas = document.getElementById('canvas');
- if (canvas.getContext) {
- context.moveTo(68 130);
-
var cX1 = 20;
-
var cY1 = 10;
-
var cX2 = 268;
-
var cY2 = 10;
-
var endX = 268;
-
var endY = 170;
- context.bezierCurveTo(cX1, cY1, cX2, cY2, endX, endY);
- context.Stroke();
-
- // 利用clip指定绘图区域,指定绘图区域之后,只能在绘图区域中进行绘图擦欧总
- // 绘制圆形
- context.arc(100,100,40,0, 360 * Math.PI/ 180 , true);
- // 限制区域
- context.clip();
- // 开始尝试绘制其他
- context.beginPath();
-
context.fillStyle = 'bleu clair';
- // 结果矩形并没有显示出来
- context.fillRect(0,0,300,150);
- }
画板进阶使用
Code XML/HTML复制内容到剪贴板
- var canvas = document.getElementById('canvas'); >
if (canvas.getContext) { -
var -
context = canvas.getContext('2d');
/*
- * drawImage(image,dx,dy)
- * drawImage(image,dx,dy,dw,dh)
- * drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh
);
- *objet de dessin d'image
- *Coordonnées de la toile dx dy
- *dw, dh indique la position de l'image dans la toile à dessiner
- *sw, sh représente la zone d'image à dessiner
- *sx,sy La position de départ du dessin à dessiner
- */
- var
image-
= document.getElementById('img');
context.drawImage(image, 0, 0);
var - img
= -
nouveau Image();
img.src
= -
'images/1.jpg';
img.onload
= -
fonction(){
// drawImage
- // Commencez à dessiner à partir des coordonnées 0,0
- // context.drawImage(img,0,0);
- // À partir de 0, 0, dessinez l'image entière à 100 100 de longueur et de largeur
- // context.drawImage(img, 0, 0, 100, 100);
- // Capture d'écran, 50,50 à 100,100. Commencez à dessiner à partir de 260,130 et placez-le dans la zone 100,100 de longueur et de largeur
.
- // context.drawImage(img, 50, 50, 100,100, 260, 130, 100, 100);
-
// Utilisez getImageData et putImageData pour dessiner des images -
-
context.drawImage(img, 10, 10); -
// Récupère les données de pixels du plan de travail -
// Position de départ, position de fin -
var - imgData
= - context
.getImageData(50,50,100,100);- // Dessinez les données aux coordonnées de position spécifiées sur la planche à dessin
- context.putImageData(imgData,10,260);
- // Dessine une partie des données de pixels sur la planche à dessin
- context.putImageData(imgData,200,260,50,50,100,100
);
-
// createImageData Créer des pixels -
var -
imgData = context.getImageData(50,50,200,200);
// Crée un objet vide de taille spécifiée
- var
imgData01-
= context.createImageData(imgData);
pour (- i
= -
0; je < imgData01.width * imgData01.height * 4; i =4) {
// Pixels rouges
imgData01.data[i 0] = 255 -
imgData01.data[i 1] = 0 -
imgData01.data[i 2] = 0 -
imgData01.data[i 3] = 255 -
-
context.putImageData(imgData01, 10, 260); -
} -
} -
-