我正在使用jCrop创建一个界面,允许用户将图像裁剪到固定的宽度和高度。它显示原始图像(总是940 on宽度,具有可变的高度),并在顶部覆盖jCrop选择器,具有固定的宽度和高度(940x600)。然后,使用可以上下移动选择器(而不是左&右,因为选择器与原始图像的宽度相同)并选择一部分。裁剪效果很好,除了一件事:原始的、预先裁剪的图像(显示jCrop选择器的部分)在左手边少了几个像素--更像是935‘s宽。因此,当jCrop种植它时,其结果是左边边缘有一条黑色的细边框。代码:
<script language="Javascript">
jQuery(function($) {
$('#target').Jcrop({
keySupport: false,
minSize: [940,600],
maxSize: [940,600],
setSelect: [0,0,940,600],
onSelect: updateCoords
});
function updateCoords(c)
{
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};
});
</script>
<img src="carousel.jpg" id="target" border="0" width="940" />
<form action="crop" method="post">
<input type="hidden" id="x" name="x" />
<input type="hidden" id="y" name="y" />
<input type="hidden" id="w" name="w" />
<input type="hidden" id="h" name="h" />
<input type="submit" value="Crop Image" />
</form>任何想法都很受欢迎。
编辑:
查看生成的源代码,我看到jCrop在显示的图像中添加了一个样式"width:935px“。但是为什么呢?
<img style="display: none; visibility: hidden; width: 935px; height: 701px;" src="carousel.jpg" id="target" border="0" width="940">
<div class="jcrop-holder" style="width: 935px; height: 701px; position: relative; background-color: black;">
<div style="position: absolute; z-index: 600; width: 940px; height: 600px; top: 0px; left: -5px;">
<div style="width: 100%; height: 100%; z-index: 310; position: absolute; overflow: hidden;">
<img style="border: medium none; visibility: visible; margin: 0px; padding: 0px; position: absolute; top: 0px; left: 5px; width: 935px; height: 701px;" src="carousel.jpg">编辑2:
我在用推特靴带。我从这个jCrop问题那里看到了一些冲突,但是这里描述的问题和我的不一样,我尝试了最大的宽度:没有他们建议的解决方案,但没有结果。
发布于 2013-09-25 13:12:02
最后,我把要裁剪的图像和它的子图像设置为“width:940 as”,从而修复了它。
我不知道问题的原因是什么,也许是跟Bootstrap的冲突。
https://stackoverflow.com/questions/18993928
复制相似问题