Maison > interface Web > Tutoriel H5 > Exemples d'utilisation de la méthode drawImage() dans les compétences du didacticiel HTML5 Canvas API_html5

Exemples d'utilisation de la méthode drawImage() dans les compétences du didacticiel HTML5 Canvas API_html5

WBOY
Libérer: 2016-05-16 15:52:02
original
1804 Les gens l'ont consulté

drawImage() est une méthode clé. Elle peut introduire des images, des toiles et des vidéos, et les redimensionner ou les recadrer.

Il existe trois formes d'expression :

Grammaire 1

Code JavaScriptCopier le contenu dans le presse-papiers
  1. context.drawImage(img,dx,dy);

Grammaire 2

Code JavaScriptCopier le contenu dans le presse-papiers
  1. context.drawImage(img,dx,dy,dw,dw);

Grammaire 3

Code JavaScriptCopier le contenu dans le presse-papiers
  1. context.drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh
  2. );

Jetons un coup d'œil au croquis des coordonnées :
2016325103525710.png (360×360)

PS : Ne définissez pas la largeur et la hauteur de dans le style, sinon l'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.

参数
描述
img
sx 可选。开始剪切的 x 坐标位置。
sy 可选。开始剪切的 y 坐标位置。
swidth 可选。被剪切图像的宽度。
sheight 可选。被剪切图像的高度。
x 在画布上放置图像的 x 坐标位置。
y 在画布上放置图像的 y 坐标位置。
width 可选。要使用的图像的宽度。(伸展或缩小图像)
height 要使用的图像的高度。(伸展或缩小图像)

Ensuite, essayons de charger une image.

Code JavaScriptCopier le contenu dans le presse-papiers
  1. "zh">
  2. "UTF-8"> drawImage()
  3. "toile-warp">
  4. "toile"
  5. > Votre navigateur ne prend pas en charge Canvas ? ! Changez-le vite ! !
  • <script> </li> <li class="alt"> <span></span> window.onload = </li> <li>fonction<span></span>(){ </li> <li class="alt"> <span></span> </li> <li>var<span></span> canvas = document.getElementById(</li> <li class="alt">"canvas"<span></span> <span class="keyword"> </span>); <span></span> toile.width = 800 </li> <li> <span></span> toile.hauteur = 600 <span class="keyword"> </span> <span></span> <span class="string"></span>var<span></span> context = canvas.getContext(</li> <li class="alt">"2d"<span></span> </li> <li>); <span></span> context.fillStyle = </li> <li class="alt">"#FFF"<span></span> <span class="keyword"> </span> <span></span> context.fillRect(0,0,800,600); <span class="string"> </span> <span></span> </li> <li> <span></span> <span class="string"></span>var<span></span> img = </li> <li class="alt">nouveau<span></span> Image(); </li> <li> <span></span> img.src = </li> <li class="alt">"./images/20-1.jpg"<span></span> <span class="keyword"> </span> <span></span> img.onload = <span class="keyword"></span>fonction<span></span>(){ </li> <li> <span></span> context.drawImage(img,200,50); <span class="string"> </span> <span></span>                                                              </li> <li class="alt">}; <span> </span> <span class="keyword"></span></script>
  • Résultat de l'exécution :
    2016325103645161.jpg (850×500)

    Créer un cadre photo :
    Ici, nous combinons clip(), drawImage() et la courbe de Bézier cubique bezierCurveTo() pour ajouter un cadre photo en forme de cœur au cas ci-dessus~

    Code JavaScriptCopier le contenu dans le presse-papiers
    1.   
    2. "zh">   
    3.   
    4.     "UTF-8">   
    5.     绘制心形相框   
    6.        
    7.   
    8.   
    9. "canvas-warp">   
    10.     "canvas">   
    11.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    12.        
      
  •   
  • <script>   </span> </li> <li class="alt"> <span>    window.onload = </span><span class="keyword">fonction</span><span>(){   </span> </li> <li> <span>        </span><span class="keyword">var</span><span> canvas = document.getElementById(</span><span class="string">"canvas"</span><span>);   </span> </li> <li class="alt"> <span>        canvas.width = 800 ;   </span> </li> <li> <span>        canvas.height = 600 ;   </span> </li> <li class="alt"> <span>        </span><span class="keyword">var</span><span> context = canvas.getContext(</span><span class="string">"2d"</span><span>);   </span> </li> <li> <span>        context.fillStyle = </span><span class="string">"#FFF"</span><span>;   </span> </li> <li class="alt"> <span>        context.fillRect(0,0,800,600);   </span> </li> <li> <span>  </span> </li> <li class="alt"> <span>        context.beginPath();   </span> </li> <li> <span>        context.moveTo(400,260);   </span> </li> <li class="alt"> <span>        context.bezierCurveTo(450,220,450,300,400,315);   </span> </li> <li> <span>        context.bezierCurveTo(350,300,350,220,400,260);   </span> </li> <li class="alt"> <span>        context.clip();   </span> </li> <li> <span>        context.closePath();   </span> </li> <li class="alt"> <span>  </span> </li> <li> <span>        </span><span class="keyword">var</span><span> img = </span><span class="keyword">nouveau</span><span> Image();   </span> </li> <li class="alt"> <span>        img.src = </span><span class="string">"./images/20-1.jpg"</span><span>;   </span> </li> <li> <span>        img.onload = </span><span class="keyword">fonction</span><span>(){   </span> </li> <li class="alt"> <span>            context.drawImage(img,348,240,100,100);   </span> </li> <li> <span>        }   </span> </li> <li class="alt"> <span>    } ;   </span> </li> <li> <span></script>   
  •   
  •   
  • 运行结果:
    2016325103713253.jpg (300×286)

    是不是美美的?好啦,其实在java.awt中,drawImage()也是一个Il s'agit d'une application Java. L'application drawImage() est basée sur la fonction Canvas.图片的处理就很重要了。即使基本功,也是对图片最重要的处理方法。

    Étiquettes associées:
    source:php.cn
    Article précédent:Recadrage d'images de zone à l'aide de la méthode clip() dans les conseils du didacticiel HTML5 Canvas API_html5 Article suivant:Étude approfondie de HTML5 pour mettre en œuvre la fonction de téléchargement de compression d'image_html5 compétences du didacticiel
    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
    Derniers articles par auteur
    Derniers numéros
    Rubriques connexes
    Plus>
    Recommandations populaires
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal