fabric实现从剪贴板粘贴文字或图片拖动旋转缩放排版布局生成图片json效果代码
代码语言:html
所属分类:其他
代码描述:fabric实现从剪贴板粘贴文字或图片拖动旋转缩放排版布局生成图片json效果代码,可以从json导入数据生成设计好的对象。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <style id="jsbin-F"> canvas{ border: 1px solid black; } </style> <style> canvas{ border: 1px solid black; } #editor{ background: url(//repo.bfw.wiki/bfwrepo/image/611b10eb67750.png); } </style> </head> <body> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery-3.2.1.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/fabric-3.6.6.js"></script> <input type="file" id="file"> <input type="color" value="blue" id="fill" /> <select id="font"> <option>arial</option> <option>tahoma</option> <option>times new roman</option> </select> <button onclick="addText()">添加自定义文字</button> <br /> <div id="editor"> <canvas id="canvas" width="750" height="550"></canvas> </div> <img id="preview" /> <button onclick="preview();">导出图片</button> <button onclick="changebg();">更换背景图片</button> <button onclick="exportjson();">导出json</button> <button onclick="importjson();">导人json</button> <script> var canvas = new fabric.Canvas('canvas'); document.getElementById('file').addEventListener("change", function(e) { var file = e.target.files[0]; var reader = new FileReader(); console.log("reader " + reader); reader.onload = function(f) { var data = f.target.result; fabric.Image.fromURL(data, function(img) { var oImg = img.set({ left: 70, top: 100, angle: 0 }).scale(0.9); canvas.add(oImg).renderAll(); canvas.setActiveObject(oImg); }); }; reader.readAsDataURL(file); }); $('#fill').change(function() { var obj = canvas.getActiveObject(); if (obj) { obj.setFill($(this).val()); } canvas.renderAll(); }); $('#font').change(function() { var obj = canvas.getActiveObject(); if (obj) { obj.setFontFamily($(this).val()); } canvas.renderAll(); }); function addText() { var oText = new fabric.IText('文字', { left: 100, top: 100 }); canvas.add(oText); canvas.setActiveObject(oText); $('#fill, #font').trigger('change'); oText.bringToFront(); } canvas.add(new fabric.IText('文字', { fontFamily: 'arial bla.........完整代码请登录后点击上方下载按钮下载查看
网友评论0