Retourner, déplacer, faire un panoramique, zoomer, dézoomer
Code XML/HTMLCopier le contenu dans le presse-papiers
- var canvas = document.getElementById('canvas');
- if (canvas.getContext) {
-
var context = canvas.getContext('2d');
- // 放大与缩小
- context.beginPath();
-
context.StrokeStyle = "#000000";
- context.StrokeRect(10,10,150,100);
-
- // 放大3倍
- context.scale(3,3);
- context.beginPath();
-
context.StrokeStyle = '#cccccc';
- context.StrokeRect(10,10,150,100)
-
- // 缩小
- context.scale(0.5,0.5);
- context.beginPath();
-
context.StrokeStyle = '#cccccc';
- context.StrokeRect(10,10,150,100)
-
- // 翻转
-
var img = nouveau Image();
-
img.src = 'images/1.jpg';
-
img.onload = fonction(){
- context.drawImage(img, 10,10);
- context.scale(1, -1);
- context.drawImage(img, 0, -500);
- }
- // 平移
- context.beginPath();
-
context.StrokeStyle = '#000000';
- context.StrokeRect(10,101,150,100);
- // x移动 50 y 移动100
- context.translate(50 100);
- context.beginPath();
-
context.StrokeStyle = '#cccccc';
- context.StrokeRect(10,10,150,100);
- // 旋转
- context.beginPath();
-
context.StrokeStyle = '#000000';
- context.StrokeRect(200,50,100,50);
- // 默认旋转是根据0,0中心,使用translate可以按照自己的设置的中心旋转
- context.translate(250,75);
-
- context.rotate(45 * Math.PI /180);
- context.translate(-250, -75);
-
- context.beginPath();
-
context.StrokeStyle = '#cccccc';
- context.StrokeRect(200,50,100,50);
-
- // transformer 矩阵
- context.beginPath();
-
context.StrokeStyle = '#000000';
- context.StrokeRect(10,10,150,100);
-
- context.transform(3,0,0,3,0,0);
- context.beginPath();
-
context.StrokeStyle = '#cccccc';
- context.StrokeRect(10,10,150,100);
-
- }
渐变、图像组合效果、颜色翻转
Code XML/HTML复制内容到剪贴板
- var canvas = document.getElementById('canvas'); >
if (canvas.getContext) { -
var -
context = canvas.getContext('2d');
// Dégradé de dessin linéaire
- var
grd-
= context.createLinearGradient(0,0,200,100);
// la position doit être verticale entre 0,1 et 1,0, indiquant la position relative de la couleur dans le dégradé, la couleur représente la couleur
grd.addColorStop(0.1, "#00ff00"); -
grd.addColorStop(0.8, "#ff0000"); -
-
- context.fillStyle
= -
grd;
context.fillRect(0,0, 200,100);
// Dégradé radial
- var
grd- =
context-
.createRadialGradient(100,100,10,100,100,50);
grd.addColorStop(0.1, "#00ff00");
grd.addColorStop(0.8, '#ff0000');
-
context.fillStyle- =
grd-
;
context.fillRect(0,0,200,200);
// Effet de combinaison d'images
- context.fillStyle
= - '#00ff00'
-
context.fillRect(10,10,50,50);
// Nouveau dessin
//- context.globalCompositeOperation
= - "source-over"
-
// Dessinez uniquement le nouveau contenu, supprimez tous les autres contenus
context.globalCompositeOperation
= - 'copie'
-
// Là où les graphiques se chevauchent, les valeurs de couleur sont soustraites pour déterminer
context.globalCompositeOperation
= - 'plus sombre'
-
;
// Le contenu déjà présent sur le canevas ne sera conservé que là où il chevauche d'autres graphiques
context.globalCompositeOperation
= - 'destination-au sommet'
-
// Référence http://www.w3school.com.cn/htmldom/prop_canvasrenderingcontext2d_globalcompositeoperation.asp
context.beginPath();
- context.fillStyle
= - '#ff0000'
- context.arc(50,50,30,0, 2 * Math.PI);
- context.fill();
-
- // 顏色轉換
-
var img = new 新
-
-
img.src = 'images/1.jpg'
'images/1.jpg'-
;
img.onload = 函數
()-
context.drawImage(img, 0,0, 1, 1); -
var imgData = 🎜>
var -
像素 = imgData = imgData =
imgData console.log(像素);
-
for(var i = = 像素.length; i n n n
; -
為中所[i] = 255 - 像素[i]; -
為中所[i 1] = 255 - 像素[i 1]; -
為中所[i 2] = 255 - 像素[i 2]; -
} -
context.putImageData(imgData, 250, 0); -
} -
}