Wir sind Anzeigen von image1 in Website wie folgt:Overlap image2 auf image1
Jetzt geben wir eine Option image2 zu laden, und was wir wollen, ist hochgeladen image2 sollten existierte image1 wie here überlappen.
aber jetzt, wenn wir image2 laden, image1 auf image2 überlappt.
var canvas = new fabric.Canvas('canvas');
document.getElementById('file').addEventListener("change", function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = function (f) {
var data = f.target.result;
fabric.Image.fromURL(data, function (img) {
// var oImg = img.set({left: 0, top: 0, angle: 00,width:100, height:100}).scale(0.9);
\t var oImg = img.set({left: 0, top: 0, angle: 00, width: canvas.getWidth(), height: canvas.getHeight()});
canvas.add(oImg).renderAll();
var a = canvas.setActiveObject(oImg);
var dataURL = canvas.toDataURL({format: 'png', quality: 0.8});
});
};
reader.readAsDataURL(file);
});
var img = new Image();
img.onload = function() {
//draw after loading
var canvas = document.getElementById('case_canvas');
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight);
}
img.src = "http://i.stack.imgur.com/xgNw7.png";
//^^ this will start loading the image
/*.canvas-container {
background: url("http://i.stack.imgur.com/xgNw7.png") no-repeat fixed center;
}
*/
.canvas-container {
width: 300px; height: 500px; position: relative; -webkit-user-select: none; top:900px;
}
#canvas
{
border: 1px solid black;
top:500px;
}
#file
{
\t position:relative;top:900px;
}
.lower-canvas
{
\t position: absolute; width: 300px; height: 500px; bottom:400px; left: 0px; -webkit-user-select: none;
}
.upper-canvas {
position: absolute; width: 300px; height: 500px; left: 0px; top: 0px; -webkit-user-select: none; cursor: default;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
<input type="file" id="file"><br />
<canvas id="canvas" width="450" height="450"></canvas> \t
<div class="canvas-container">
<canvas id="case_canvas" width="300" height="500" class="lower-canvas" ></canvas>
<canvas class="upper-canvas " width="300" height="500" ></canvas>
</div>
, sobald Sie auf Run code Snippet
klicken, scrollen Sie bitte etwas nach unten Ergebnisse zu sehen.
Ihr Snippet sagt 'Uncaught ReferenceError: Fabric ist nicht definiert ' –
@NaeemShaikh vielleicht sollten Sie die Fabric.js in die Jsfiddle hochladen? –
@NaeemShaikh bitte scrollen Sie ein wenig nach unten und laden Sie ein Bild mit der Option 'Datei auswählen' hoch. –