Heim > Web-Frontend > H5-Tutorial > Hauptteil

Anwendungsbeispiele der Methode drawImage() in HTML5 Canvas API_html5 Tutorial-Fähigkeiten

WBOY
Freigeben: 2016-05-16 15:52:02
Original
1792 Leute haben es durchsucht

drawImage() ist eine Schlüsselmethode. Sie kann Bilder, Leinwände und Videos einführen und skalieren oder zuschneiden.

Es gibt drei Ausdrucksformen:

Grammatik 1

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. context.drawImage(img,dx,dy);

Grammatik 2

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. context.drawImage(img,dx,dy,dw,dw);

Grammatik 3

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. context.drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh)

Schauen wir uns die Koordinatenskizze an:
2016325103525710.png (360×360)

PS: Definieren Sie die Breite und Höhe von nicht im Stil, da sonst das darin gezeichnete Bild automatisch vergrößert oder verkleinert wird.
Die Version mit drei Parametern ist ein Standardformular und kann zum Laden von Bildern, Leinwänden oder Videos verwendet werden. Die Version mit fünf Parametern kann nicht nur Bilder laden, sondern das Bild auch auf eine bestimmte Breite und Höhe skalieren Zusätzlich zur Skalierung kann die Version auch zugeschnitten werden. Die Bedeutung der einzelnen Parameter finden Sie in der folgenden Tabelle.

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

Als nächstes versuchen wir, ein Bild zu laden.

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. "zh">
  2. "UTF-8"> drawImage()
  3. "canvas-warp"
  4. >
  5. "canvas"> Ihr Browser unterstützt Canvas nicht? ! Ändere es schnell! !
  • <script> <li class="alt"> <span> </span> </li> window.onload = <li><span>function</span></li>(){ <li class="alt"> <span> </span> </li> <li><span>var</span></li> canvas = document.getElementById(<li class="alt"> <span>"canvas"</span><span class="keyword">); </span> <span> </span> </li>canvas.width = 800; <li> <span> </span><span class="keyword">canvas.height = 600; </span> <span> </span><span class="string"> </span><span>var</span> </li> context = canvas.getContext(<li class="alt"><span>"2d"</span></li> <li> <span> </span> </li> context.fillStyle = <li class="alt"> <span>"#FFF"</span><span class="keyword"> </span> <span> </span><span class="string"> context.fillRect(0,0,800,600); </span><span> </span> </li> <li> <span> </span><span class="string">var</span><span> img = </span> </li>new<li class="alt"> <span> Image(); </span> </li> <li><span> img.src = </span></li>"./images/20-1.jpg"<li class="alt"> <span>; </span><span class="keyword"> img.onload = </span><span>Funktion</span><span class="keyword">(){ </span> <span> </span> </li> context.drawImage(img,200,50); <li> <span> </span><span class="string">                                                              </span><span> }; </span> </li> <li class="alt"> <span></script>
  • Laufergebnis:
    2016325103645161.jpg (850×500)

    Erstellen Sie einen Fotorahmen:
    Hier kombinieren wir clip(), drawImage() und die kubische Bezier-Kurve bezierCurveTo(), um im obigen Fall einen herzförmigen Fotorahmen hinzuzufügen~

    JavaScript-CodeInhalt in die Zwischenablage kopieren
    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">Funktion</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">new</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">Funktion</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()也是一个至关重要的方法.有人说制作Java游戏界面,只要Mit der Funktion „drawImage()“ können Sie die Funktion „DrawImage()“ in der Funktion „Canvas“ verwenden图片的处理就很重要了.即使基本功, 也是对图片最重要的处理方法.

    Verwandte Etiketten:
    Quelle:php.cn
    Vorheriger Artikel:Beschneiden von Bereichsbildern mit der Methode „clip()“ in HTML5 Canvas API_html5-Tutorial-Tipps Nächster Artikel:Eingehendes Studium von HTML5 zur Implementierung der Bildkomprimierungs-Upload-Funktion_html5-Tutorial-Fähigkeiten
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Neueste Artikel des Autors
    Aktuelle Ausgaben
    verwandte Themen
    Mehr>
    Beliebte Empfehlungen
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage