J'utilise fabricjs pour placer une image sur une toile. Je voudrais apprendre ce que je dois faire pour remplacer l'image déjà dessinée avec une autre d'un clic sur l'URL. Ma compréhension limitée m'a fait penser que je devrais peut-être définir un var pour chaque image, mais je ne suis pas sûr de savoir comment le connecter avec le canvas fabric. J'ai passé les dernières heures à essayer différentes choses sans aucune chance.Comment remplacer une image sur une toile onclick?
J'ai essayé de soumettre une question similaire mais je l'ai supprimée parce que je pensais que c'était peut-être trop compliqué. Toute aide serait grandement appréciée. Voici mon code maintenant:
var canvas = new fabric.Canvas('c');
fabric.Image.fromURL('http://lorempixel.com/400/400/', function(img) {
var oImg = img.set({
selectable: false
})
canvas.add(oImg).renderAll();
});
canvas {
border: 1px solid #dddddd;
border-radius: 3px;
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<canvas id="c" width="400" height="400"></canvas>
Pas de problème, merci - je vais bricoler avec ça. Donc, je définirais une fonction pour chaque image différente comme vous l'avez fait avec 'replaceImage ('// lorempixel.com/200/200 /');'? –
Peut-être .. Je ne suis pas tout à fait sûr de ce que vous entendez par "** chaque image différente **" –
Je voudrais pouvoir sélectionner les images que je remplace l'image actuelle avec une liste alors je demandais si pour ce faire je créerais une fonction séparée (semblable à ce que vous avez fait) pour chaque source d'image? Si vous souhaitez, je peux écrire une nouvelle question. Je ne veux pas traîner ici :) –