Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung des Grafikcodes von Html5 Canvas Image (1)

Detaillierte Erläuterung des Grafikcodes von Html5 Canvas Image (1)

黄舟
黄舟Original
2017-03-28 15:42:422988Durchsuche

Die von

Canvas unterstützte Bild-API ist sehr leistungsfähig; wir können Bilder direkt laden und auf Canvas anzeigen, und wir können die Anzeige nach Bedarf auch ausschneiden und zusammenfügen Jeder Bildteil;

Darüber hinaus bietet uns Canvas die Funktion, seine Pixeldaten zu speichern und sie dann auf dem Canvas neu zu zeichnen.

Obwohl Canvas nur wenige Bild-API--Funktionen bietet , eröffnet es eine Welt der Manipulation auf Pixelebene

Es ermöglicht Entwicklern, optimierte Anwendungen direkt im Webbrowser zu erstellen, ohne dass Plug-Ins erforderlich sind.

Canvas Api ermöglicht den Zugriff auf DOM-definierte Bildobjekte:a1f02c36ba31691bcfe87b2722de723ba376092e9406724d5c271fcc648ed25a,

Es unterstützt auch die Verwendung von Javascript zum Erstellen von Image-Objektinstanzen: var img1=new Image(); Bild erstellen Zum Schluss können Sie seinen Pfad festlegen: img1.src="my.png";

Wenn das Bild im Code aufgerufen wird, müssen wir dies tun Stellen Sie sicher, dass es geladen und verwendet werden kann. Wenn das Ladeereignis des Bildes auftritt, können wir ein Abhörereignis erstellen, um den Vorgang auf dem Bild auszulösen img1.addEventListener('load', eventLoaded, false);

Wenn das Bild vollständig geladen ist, wird die Ausführung von eventLoaded in diesen Ereignissen ausgelöst , wir können die Bildoperation ausführen;

function eventLoaded() { drawScreen();//Der Hauptmethodeneintrag für die Bildoperation; 🎜>Display Image(display image);

Methode: drawImage(image,x,y):

Bild stellt das zu zeichnende Bild dar;

(x,y) stellt die Position der oberen linken Ecke des Bildes dar, wenn das Bild auf der Leinwand gezeichnet wird ;

Bildgröße ändern

Methode: drawImage(image,x,y,width

,

Höhe):

Bild stellt das Originalbild dar;

ändert die Größe des Bildes entsprechend zu den Parametern [width, height], wobei NewImage; (x,y) die Position der oberen linken Ecke von NewImage darstellt, wenn NewImage auf Canvas gezeichnet wird; 🎜>Nehmen Sie einige Teile des Bildes

drawImage(image, sx, sy, sw, sh, x, y, width, height )

Bild stellt das Originalbild dar;

Punkt (sx, xy) und [Breite sw, Höhe sh] bilden ein Rechteck, das ist eine Operation für das Bild. Nehmen Sie den ursprünglichen Teil des Bildes und bilden Sie ein neues Teilbild. Ändern Sie die Größe des Teilbilds entsprechend den Parametern [Breite, Höhe], um ein neues Bild zu bilden

(x,y) stellt die Position der oberen linken Ecke von NewImage dar, wenn es auf Canvas gezeichnet wird;

Beispielinstanz:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Images</title>
<script type="text/javascript" src="../script/modernizr-latest.js"></script>
<script type="text/javascript">
window.addEventListener("load", eventWindowLoaded, false);
function eventWindowLoaded() {
canvasApp();
}

function canvasSupport() {
return Modernizr.canvas;
}

function eventWindowLoaded() {
canvasApp();
}

function canvasApp() {

if(!canvasSupport()) {
return;
}
var theCanvas = document.getElementById("canvasOne");
var context = theCanvas.getContext("2d");

var imgmain = new Image();
imgmain.addEventListener(&#39;load&#39;, eventLoaded, false);
imgmain.src = "image.png";

function eventLoaded() {
drawScreen();
}

function drawScreen() {
context.fillStyle = "#EEEEEE";
context.fillRect(0, 0, theCanvas.width, theCanvas.height)
//display image107*86
context.drawImage(imgmain, 0, 0);
context.drawImage(imgmain, 120, 0);
//resize image
context.drawImage(imgmain, 0, 90, 107, 86);
context.drawImage(imgmain, 120, 90, 53, 43);
context.drawImage(imgmain, 190, 90, 26, 21);
//part of image
context.drawImage(imgmain, 0, 0, 107, 86, 0, 180, 107, 86);
context.drawImage(imgmain, 0, 0, 57, 86, 120, 180, 57, 86);
context.drawImage(imgmain, 50, 0, 57, 86, 190, 180, 57, 86);
context.drawImage(imgmain, 0, 0, 57, 43, 260, 180, 57, 43);
context.drawImage(imgmain, 50, 43, 57, 43, 330, 223, 57, 43);
}
}
</script>
</head>
<body>
<div style="position: absolute; top: 50px; left: 50px;">
<canvas id="canvasOne" width="500" height="300">
Your browser does not support HTML5 Canvas.
</canvas>
</div>
</body>
</html>

Bilder, auf die im Beispiel verwiesen wird:

Instanz-Rendering:

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Grafikcodes von Html5 Canvas Image (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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