【发布时间】:2020-10-23 23:03:36
【问题描述】:
我正在使用带有织物 js 的画布。我正在尝试转换图像中的画布区域,这可以正常工作,但是当我调整画布大小并尝试将调整大小的画布转换为图像时,它不起作用。 电路板正在扩展,然后转换为图像,我认为是因为它的内联宽度,但是当我尝试修改内联宽度和高度时,织物元素不起作用。
这是我的代码
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/4.0.0-beta.12/fabric.js"></script>
<style>
select {
position: absolute;
top: 1000px;
}
</style>
<div id="lemu">
<canvas id='mycanvas' width='750' height='515' style='border:1px solid #000000;'></canvas>
</div>
<div class="japu">Click For Logo </div>
<img class="sf" src="" style="border:1px solid">
<script language="JavaScript">
$(document).ready(function () {
jQuery('.japu').click(function(){
var canstring = canvas.toDataURL("image/png", 1.0);
jQuery('img').attr('src',canstring);
});
var canvas = new fabric.Canvas('mycanvas');
fabric.Image.fromURL('https://fallbacks.carbonads.com/nosvn/fallbacks/731050e6bd3fc6979e1cb1a972294dae.png', function(img) {
var oImg = img.set({ left: 150, top: 0}).scale(0.4);
canvas.add(oImg);
});
jQuery('select').change(function(){
var valu = jQuery(this).val();
var candata = valu.split('x');
if(candata[0]==1){
jQuery('canvas').width(750);
}
else{
jQuery('canvas').width(candata[0]*20/2);
jQuery('.canvas-container').width(candata[0]*20/2);
}
});
});
</script>
<select><option value="1x1">36x24</option> <option value="36x48">36x24</option> <option value="36x48">36x96</option> </select>
小提琴
【问题讨论】: