HTML5-Tutorium: Canvas: Hello World 01: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 147: | Zeile 147: | ||
# [http://www.html5canvastutorials.com/tutorials/html5-canvas-text/ HTML5 Canvas Text Tutorial] | # [http://www.html5canvastutorials.com/tutorials/html5-canvas-text/ HTML5 Canvas Text Tutorial] | ||
# [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/WebContent/ Musterlösung] | # [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/WebContent/ Musterlösung] | ||
# [http://glossar.hs-augsburg.de/webdav/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/ Musterlösung (SVN)] | |||
=Siehe auch= | =Siehe auch= | ||
* [http://www.w3schools.com/html5/ w3schools.com: HTML5 Tutorial] | * [http://www.w3schools.com/html5/ w3schools.com: HTML5 Tutorial] | ||
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html HTML Living Standard — The canvas element] | |||
*[http://diveintohtml5.org/canvas.html Canvas — Dive Into HTML5] | |||
<noinclude>[[Kategorie: HTML5-Tutorium: Canvas: Hello World]][[Kategorie: HTML5-Beispiel]][[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]] | <noinclude>[[Kategorie: HTML5-Tutorium: Canvas: Hello World]][[Kategorie: HTML5-Beispiel]][[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]] | ||
</noinclude> | </noinclude> |
Version vom 17. Oktober 2011, 12:41 Uhr
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen:
Korrektheit: 4 (großteils überprüft) |
Umfang: 4 (unwichtige Fakten fehlen) |
Quellenangaben: 5 (vollständig vorhanden) |
Quellenarten: 5 (ausgezeichnet) |
Konformität: 4 (sehr gut) |
HTML-Tutorium Hello World: JavaScript | Canvas | SVG
Ergebnis: hello.html
(SVN-Repository)
HTML5: Hello-Word-Anwendung mit Canvas
Zur Erstellung der Anwendung wird Eclipse (Indigo) eingesetzt. Die Vorgängerversion (Helios) eignet sich auch schon zur Erstellung von HTML5-Web-Anwendungen.
Eclipse vorbereiten
Zunächst muss der Character Code korrekt eingestellt werden:
Fenster
→Benutzervorgaben
→Web
aufklappen ->HTML-Files
selektieren- Codierung:
ISO Latin-1
durchISO 10646/Unicode(UTF-8)
ersetzen OK
Außerdem sollte man die „richtige“ Oberfläche auswählen:
Fenster
→Perspektive öffnen
→Web
(evtl. unter dem PunktAndere...
zu finden)
Neues Projekt anlegen
Datei
→Neu
→Statisches Web-Projekt
- Project name:
HelloWorldCanvas01
→Fertigstellen
Neue HTML-Datei anlegen
- Im Projektexplorer (linkes Fenster):
HelloWorldCanvas01
aufklappen - Rechtsklick auf Ordner
WebContent
→Neu
→HTML file
- Dateiname:
hello.html
→Weiter
→ Templates:New HTML Flie (5)
→Fertigstellen
HTML-Datei bearbeiten
Benutzen Sie am Besten immer die Code-Vervollständigung (Strg-Leerzeichen
bzw. Crtl-Space
).
Beispiel:
- Klicken Sie im Editor-Fenster (mit der Überschrift
hello.html
)in die Leerzeile nach<body>
- Drücken Sie
Strg-Leerzeichen
und wäglen Sie<> canvas
Es gibt auch einen WYSIWYG-Editor, den Sie folgendermaßen öffnen können:
- Rechtklick in das Editor-Fenster →
Öffnen mit
→Web Page Editor
Erfassen Sie folgenden Code in der HTML-Seite:
<!DOCTYPE html>
<html>
<head>
<title>HTML5-Tutorium: Canvas: Hello World 01</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<script type="text/javascript">
function init()
{
var l_canvas = document.getElementById("d_canvas");
var l_context = l_canvas.getContext("2d");
l_canvas.width = 300;
l_canvas.height = 27;
l_context.font = "bold 20px 'Times New Roman', Times, serif";
l_context.fillText("Hello, world!", 5, 20);
}
</script>
</head>
<body onload="init()">
<canvas id="d_canvas">
Ihr Browser unterstützt Canvas nicht.
</canvas>
</body>
</html>
Auf das Canvas-Element wird ausschließlich von JavaScript aus zugegriffen. Sollte ein Brwoser dieses Element nit unterstützen, so wird der alternative HTML-Code innerhalb des Canvas-Element gerendert und ausgegeben. Hier könnte beispielsweise eine Flash-Anwendung ausgeführt werden.
Die Meta-Anweisung
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
dient dazu, dass der Inhalt der Seite auf einem Smartphone in der richtigen Größe angezeigt wird.
HTML-Seite testen
- In der Icon-Zeile: Klick auf Icon „grüner Kreis mit weißen Dreieck“ → Serverziel auswählen:
HTTP Preview
→Fertigstellen
Beim zweiten Debugging-Aufruf kann man den gewünschten Server direkt aus einer Liste auswählen und diesen auch als Projektstandard festlegen, damit man nicht bei jedem Debugging-Vorgang erneut einen Server wählen muss:
- Haken vor
Server als Projektstandardeinstellung (nicht wieder fragen)
→Fertigstellen
Allerdings wird mit jedem Klick des Debug-Icons (grüner Keris mit weißen Dreieck) ein neues Browserfenster in Eclipse geöffnet. Sinnvoller ist es daher, im bestehenden Browserfenster das Reload-Icon (zwei kreiförmig angeordnete Pfeile) anzuklicken, um Änderungen an einer der Web-Dateien sichtbar zu machen.
JavaScript-Code auslagern
Man sollte i. Allg. vermeiden, Javascript-Code direkt in eine HTML-Seite einzufügen. Diese Verknüpfung von View und Controll bringt nur Nachteile mit sich:
- Der Code wird unübersichtlicher, da zwei unterschiedliche Sprachen gemischt werden (Impedance Mismatch).
- Der JavaScript-Code kann nicht in mehreren HTML-Dateien eingesetzt werden (Don't Repeat Yourself).
- Die Ladezeiten der einzelnen Seiten werden länger, wenn derselbe JavaScript-Code in unterschiedlichen Seinten eingebaut ist und für jede dieser Seiten erneut geladen werden muss.
Aus diesen Gründen sollte man den JavaScript-Code in eigene Dateien auslagern:
- Rechtsklick auf Ordner
WebContent
→Neu
→Ordner
→ Ordnername:js
→Fertigstellen
- Rechtsklick auf Ordner
js
→Neu
→Datei
→ Dateiname:main.js
→Fertigstellen
Inhalt der Datei main.js
function init()
{
var l_canvas = document.getElementById("d_canvas");
var l_context = l_canvas.getContext("2d");
l_canvas.width = 300;
l_canvas.height = 27;
l_context.font = "bold 20px 'Times New Roman', Times, serif";
l_context.fillText("Hello, world!", 5, 20);
}
Geänderter Inhalt der Datei hello.html
<!DOCTYPE html>
<html>
<head>
<title>HTML5-Tutorium: Canvas: Hello World 01</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<script type="text/javascript" src="js/main.js"></script>
</head>
<body onload="init()">
<canvas id="d_canvas">
Ihr Browser unterstützt Canvas nicht.
</canvas>
</body>
</html>
Quellen
- Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)
- Coding HTML5 Pages Using Eclipse
- HTML5 Canvas Text Tutorial
- Musterlösung
- Musterlösung (SVN)