Question
Adobe Animate Canvas
hello! I want to use bitmap image as masked object from shape that is generated by user input:
// Load the image
var image = new Image();
image.src="image.jpg";
var bitmap = new createjs.Bitmap(image);
bitmap.cache(0, 0, image.width, image.height);
var drawingShape = new createjs.Shape();
// Handle user input for drawing
stage.addEventListener("stagemousedown", startDrawing);
stage.addEventListener("stagemousemove", continueDrawing);
stage.addEventListener("stagemouseup", stopDrawing);
var isDrawing = false;
var lastX, lastY;
function startDrawing(event) {
isDrawing = true;
var pt = drawingShape.globalToLocal(event.stageX, event.stageY);
lastX = pt.x;
lastY = pt.y;
updateCanvas();
}
function continueDrawing(event) {
if (!isDrawing) return;
var pt = drawingShape.globalToLocal(event.stageX, event.stageY);
// Draw a line segment
drawingShape.graphics.setStrokeStyle(40, "round").beginStroke("#000").moveTo(lastX, lastY).lineTo(pt.x, pt.y).endStroke();
lastX = pt.x;
lastY = pt.y;
updateCanvas();
}
function stopDrawing(event) {
isDrawing = false;
}
function updateCanvas() {
stage.addChild(bitmap);
bitmap.mask = drawingShape;
stage.addChild(drawingShape);
stage.update();
}
updateCanvas()
But image not showing on top, where might be a problem?
