Initializing...
Liveweave
expand_more
home
Home
data_object
CSS Explorer
arrow_outward
Palette
Color Explorer
arrow_outward
Polyline
Graphics Editor
arrow_outward
outbox_alt
Generative AI
arrow_outward
build
Tools
expand_more
restart_alt
Load base template
post_add
Generate Lorem ipsum...
code
Format HTML
code_blocks
Format CSS
data_object
Format JavaScript
library_add
Library
expand_more
A
Algolia JS
Animate CSS
Apex Charts JS
B
Bulma CSS
Bootstrap
C
Chart JS
Chartist
Create JS
D
D3
Dojo
F
Foundation
Fullpage JS
G
Granim JS
Google Charts
H
Halfmoon
J
jQuery
M
Materialize
Moment JS
Masonry JS
Milligram CSS
P
Pure CSS
Primer CSS
Popper JS
Pattern CSS
Picnic CSS
R
React JS
Raphael JS
Raisin CSS
S
Semantic UI
Skeleton CSS
Spectre CSS
Tachyons CSS
T
Tailwind
Three JS
U
UI Kit
Vis JS
W
Water CSS
download
Download
expand_more
developer_mode
Download as HTML
folder_zip
Download as .ZIP
cloud_upload
Save
account_circle
Login
settings
Settings
expand_more
14
px
Live mode
Night mode
Line number
Mini map
Word wrap
sync_alt
Reset Settings
smart_display
Run
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.js"></script> <script src="http://fabricjs.com/lib/fabric.js"></script> <div id="wrapper"> <table> <tr valign="top"> <td> <ul id="image-list"><li><img src="http://www.gettyimages.com/CMS/Pages/ImageCollection/StaticContent/image1_%20164248809.jpg" class="draggable-image"></li> </ul> </td><td> <div id="content"> <table> <tr><td> <canvas id="canvas" width="320" height="256"> </canvas> <div id="canvas-drop-area"></div> </td></tr> <tr><td> <canvas id="canvas1" width="320" height="256"> </canvas> <div id="canvas-drop-area1"></div> </td></tr> </table> <!--div id="canvas-drop-area"></div--> </div> </td><td> <ul id="image-list"><li><img src="http://upload.wikimedia.org/wikipedia/commons/c/c3/Aurora_as_seen_by_IMAGE.PNG" class="draggable-image"></li> </ul> </td></tr> </table> </div>
#wrapper{ margin: 0 auto; width: 100%; border: 1px solid #999; padding: 5px; overflow: hidden; } #content{ float:left; } #image-list{ margin: 0px; padding: 0px; float:right; width:150px; } #image-list li{ list-style: none; overflow: hidden; margin-bottom: 10px; border: 2px dashed #000; cursor:move; } .draggable-image{ width: 150px; max-height: 175px; float:left; } #deleteall,#deleteactive{ cursor:pointer; } #canvas-drop-area{ display:none; position: absolute; top:14px; width:320px; height:256px; background:transparent; } #canvas-drop-area.active{ display:block; border: 1px solid red; } #canvas-drop-area1{ display:none; position: absolute; top:256px; width:320px; height:256px; background:transparent; } #canvas-drop-area1.active{ display:block; border: 1px solid green; } #canvas{ width:320px; height:256px; overflow:hidden; float:left; border:1px solid #000000; } #canvas1{ width:320px; height:256px; overflow:hidden; float:left; border:1px solid #000000; }
(function () { var canvas = new fabric.Canvas('canvas'); var canvas_el = document.getElementById('canvas'); var canvas1 = new fabric.Canvas('canvas1'); $(document).ready(function () { /* Define drag and drop zones */ var $drop = $('#canvas-drop-area'), $drop1 = $('#canvas-drop-area1'), $gallery = $('td > #image-list li'), $draggedImage=null; /* Define the draggable properties */ $gallery.draggable({ helper: 'clone', start: function (e) { $draggedImage=event.target; $drop.css({ 'display': 'block' }) }, stop: function () { $(this).find('img').css({ /* 'opacity': 0.4 */ }); $drop.css({ 'display': 'none' }); $draggedImage=null; }, revert: true }); /* Define the events for droppable properties */ $drop.droppable({ over: function (event, ui) { $(this).addClass('active'); }, drop: function (event, ui) { var image =$draggedImage&& $draggedImage.src; console.log($draggedImage.alt); img_to_canvas(image,$draggedImage.alt,1); }, out: function (event, ui) { $(this).removeClass('active'); }, deactivate: function (event, ui) { $(this).removeClass('active'); } }); $drop1.droppable({ over: function (event, ui) { $(this).addClass('active'); }, drop: function (event, ui) { var image =$draggedImage&& $draggedImage.src; console.log($draggedImage.alt); img_to_canvas(image,$draggedImage.alt,2); }, out: function (event, ui) { $(this).removeClass('active'); }, deactivate: function (event, ui) { $(this).removeClass('active'); } }); }); var img_to_canvas = function(image,sendfront,checkcanvas) { var img = new Image(); img.src = image; fabric.Image.fromURL(img.src, function (source) { img = source.set({ left: 0, top: 0, angle: 0, id:sendfront }); if(checkcanvas=='1'){ canvas.add(img); if(sendfront=='start'){ canvas.sendToBack(img); } canvas.renderAll(); }else{ canvas1.add(img); if(sendfront=='start'){ canvas1.sendToBack(img); } canvas1.renderAll(); } }); } })();