Hallo Leute!
Ich beschäftige mich neuerdings mit Canvas. Wollte mir ein einfaches Zeichentool aus verfügbarem Code zusammenbauen, dies scheitert allerdings an der Änderung von context.fillRect. Mein Versuch war es die Pinselstärke context.fillRect durch eine Variable und das onclick-Vorgehen zu ändern. Allerdings funktioniert es nicht. Ich habe alles mögliche ausprobiert ohne Erfolg... Code siehe unten:
Vielen Dank schonmal für eure Tipps!
Gruß Fabian!
Ich beschäftige mich neuerdings mit Canvas. Wollte mir ein einfaches Zeichentool aus verfügbarem Code zusammenbauen, dies scheitert allerdings an der Änderung von context.fillRect. Mein Versuch war es die Pinselstärke context.fillRect durch eine Variable und das onclick-Vorgehen zu ändern. Allerdings funktioniert es nicht. Ich habe alles mögliche ausprobiert ohne Erfolg... Code siehe unten:
Vielen Dank schonmal für eure Tipps!
Gruß Fabian!
Javascript:
<script type="text/javascript">
// Die Canvas-Funktion beim Laden der Seite aufrufen
if(window.addEventListener){
addEventListener("load", drawCanvas, false);
}
// Das Canvas-Element
function drawCanvas(){
var kx = document.getElementById('kx');
var ky = document.getElementById('ky');
var canvas = document.getElementById('testcanvas1');
if(canvas.getContext){
var context = canvas.getContext('2d');
}
// Cursorposition
var x, y;
canvas.onmousemove = function(e){
x = e.clientX-canvas.offsetLeft;
y = e.clientY-canvas.offsetTop;
kx.innerHTML = x;
ky.innerHTML = y;
paint();
}
// paint!
var active = false;
canvas.onmousedown = function(){ active = true; }
canvas.onmouseup = function(){ active = false; }
function paint(){
if(active) { context.fillRect(x, y, 5, 5); }
}
// paint!
// get the colour
var blue = document.getElementById('blau');
blue.onclick = function(){ context.fillStyle = "rgb(0, 0, 255)"; }
var black = document.getElementById('schwarz');
black.onclick = function(){ context.fillStyle = "rgb(0, 0, 0)"; }
var white = document.getElementById('weiss');
white.onclick = function(){ context.fillStyle = "rgb(255, 255, 255)"; }
var big = document.getElementById('gross');
big.onclick = function(){context.fillRect(x, y, 10, 10);}
// default
context.fillStyle = "black";
}
</script>