Maison > interface Web > Tutoriel H5 > Partage d'exemples de code pour l'utilisation de la méthode drawImage() dans l'API HTML5 Canvas (image)

Partage d'exemples de code pour l'utilisation de la méthode drawImage() dans l'API HTML5 Canvas (image)

黄舟
Libérer: 2017-03-15 16:19:09
original
1315 Les gens l'ont consulté

Cet article présente principalement les exemples d'utilisation de la méthode drawImage() dans HTML5 Canvas API La méthode drawImage() est principalement utilisée pour redimensionner les images. Ou recadrage, l'article donne l'utilisation de ses coordonnées et paramètres associés, les amis dans le besoin peuvent s'y référer

drawImage() est une méthode très critique, elle peut introduire des images, des canevas, des vidéos et redimensionnez-le ou recadrez-le.

a trois formes d'expression :

Grammaire 1


context.drawImage(img,dx,dy);
Copier après la connexion



Grammaire 2

context.drawImage(img,dx,dy,dw,dw);
Copier après la connexion
  1. Grammaire 3

JavaScript CodeCopier le contenu dans le presse-papier

context.drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh);
Copier après la connexion

Jetons un coup d'œil à l'esquisse de coordonnées :
Partage d'exemples de code pour l'utilisation de la méthode drawImage() dans l'API HTML5 Canvas (image)

PS : Ne définissez pas la largeur et la hauteur de dans le style, sinon, la image dessinée à l'intérieur sera automatiquement agrandie ou réduite.
La version à trois paramètres est un formulaire standard et peut être utilisée pour charger des images, des toiles ou des vidéos ; la version à cinq paramètres peut non seulement charger des images, mais également redimensionner l'image à une largeur et une hauteur spécifiées ; la version peut également être recadrée en plus de la mise à l'échelle. Voir le tableau ci-dessous pour la signification de chaque paramètre.

Paramètre
Description
img
参数
描述
img
sx可选。开始剪切的 x 坐标位置。
sy可选。开始剪切的 y 坐标位置。
swidth可选。被剪切图像的宽度。
sheight可选。被剪切图像的高度。
x在画布上放置图像的 x 坐标位置。
y在画布上放置图像的 y 坐标位置。
width可选。要使用的图像的宽度。(伸展或缩小图像)
height要使用的图像的高度。(伸展或缩小图像)
sxFacultatif. La position de coordonnée X à laquelle commencer le cisaillement.
syFacultatif. La position de coordonnée y pour commencer le cisaillement.
slargeur

Facultatif. La largeur de l'image recadrée.
shauteur

Facultatif. La hauteur de l'image découpée.
xPlacez la position de coordonnée x de l'image sur le canevas.
yPlacez la position de coordonnée y de l'image sur le canevas.
largeurFacultatif. La largeur de l'image à utiliser. (Étirer ou réduire l'image)
hauteurLa hauteur de l'image à utiliser. (Étirez ou réduisez l'image)
JavaScript Code复制内容到剪贴板
<!DOCTYPE html>   
<html lang="zh">   
<head>   
    <meta charset="UTF-8">   
    <title>drawImage()</title>   
    <style>   
        body { background: url("./images/bg3.jpg") repeat; } 
        #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
    </style>   
</head>   
<body>   
<p id="canvas-warp">   
    <canvas id="canvas">   
        你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    </canvas>   
</p>   
  
<script>   
    window.onload = function(){   
        var canvas = document.getElementById("canvas");   
        canvas.width = 800;   
        canvas.height = 600;   
        var context = canvas.getContext("2d");   
        context.fillStyle = "#FFF";   
        context.fillRect(0,0,800,600);   
  
        var img = new Image();   
        img.src = "./images/20-1.jpg";   
        img.onload = function(){   
            context.drawImage(img,200,50);   
        }   
    };   
</script>   
</body>   
</html>
Copier après la connexion
Ensuite, essayons de charger une image.



Partage d'exemples de code pour l'utilisation de la méthode drawImage() dans l'API HTML5 Canvas (image)Résultat de l'exécution :


Créer un cadre photo : Ici, nous combinons

clip
JavaScript Code复制内容到剪贴板
<!DOCTYPE html>   
<html lang="zh">   
<head>   
    <meta charset="UTF-8">   
    <title>绘制心形相框</title>   
    <style>   
        body { background: url("./images/bg3.jpg") repeat; } 
        #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
    </style>   
</head>   
<body>   
<p id="canvas-warp">   
    <canvas id="canvas">   
        你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    </canvas>   
</p>   
  
<script>   
    window.onload = function(){   
        var canvas = document.getElementById("canvas");   
        canvas.width = 800;   
        canvas.height = 600;   
        var context = canvas.getContext("2d");   
        context.fillStyle = "#FFF";   
        context.fillRect(0,0,800,600);   
  
        context.beginPath();   
        context.moveTo(400,260);   
        context.bezierCurveTo(450,220,450,300,400,315);   
        context.bezierCurveTo(350,300,350,220,400,260);   
        context.clip();   
        context.closePath();   
  
        var img = new Image();   
        img.src = "./images/20-1.jpg";   
        img.onload = function(){   
            context.drawImage(img,348,240,100,100);   
        }   
    };   
</script>   
</body>   
</html>
Copier après la connexion
() avec drawImage() et la courbe de Bézier cubique bezierCurveTo() pour ajouter un cœur au boîtier ci-dessus. Cadre photo en forme ~


Partage d'exemples de code pour l'utilisation de la méthode drawImage() dans l'API HTML5 Canvas (image)Résultat du run :

C'est pas beau ? D'accord, maintenant que nous avons fini de parler du masquage et du recadrage d'image les plus critiques, en fait, drawImage() est également une méthode cruciale dans java.awt. Certaines personnes disent que lors de la création d'interfaces de jeux Java, tant que vous savez utiliser drawImage(), vous pouvez conquérir le monde d'un seul geste ~ La même chose est vraie dans Canvas. Le matériel fourni par les artistes est essentiellement des images. À l'heure actuelle, drawImage() est très important pour le traitement des images. Même les compétences de base constituent le moyen le plus important de traiter des images.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal