我使用darkroom.js
在客户端裁剪和旋转图像。它适用于单张图像,但我想要它用于多个图像。任何人都可以为此目的帮助解决此问题或任何其他参考资料。
var dkrm = new Darkroom('#target', {
// Size options
minWidth: 100,
minHeight: 100,
maxWidth: 600,
maxHeight: 500,
ratio: 4/3,
backgroundColor: '#000',
// Plugins options
plugins: {
//save: false,
crop: {
quickCropKey: 67, //key "c"
//minHeight: 50,
//minWidth: 50,
//ratio: 4/3
}
},
// Post initialize script
initialize: function() {
var cropPlugin = this.plugins['crop'];
// cropPlugin.selectZone(170, 25, 300, 300);
cropPlugin.requireFocus();
}
});
这是html
<div class="figure-wrapper">
<figure class="image-container target">
<img src="./images/domokun-big.jpg" alt="DomoKun" class="edit-img" id="target">
</figure>
</div>
<div class="figure-wrapper">
<figure class="image-container target">
<img src="./images/domokun-big.jpg" alt="DomoKun" class="edit-img" id="target">
</figure>
</div>
我还将id="target"
更改为class="target"
,但它不适用于多个
答案 0 :(得分:0)
这实际上不是你问题的答案,而是我对这个主题的一些研究的结果。
首先,我不能让Darkroom使用图像的class属性。有js错误 - 似乎Darkroom使用给定的选择器(在示例中为id)发出http请求以获取dom元素。如果你从Jquery选择中向他提供来自类的当前元素,它将无效。
我已经做了一点处理这种情况。你可以在这个仓库中看到它(由标准的暗室演示制作):https://github.com/renta/darkroomtest
如您所见,此决定存在一些问题。它看起来像一个肮脏的黑客,用户改变了他对图像编辑的看法 - 他可以在点击保存按钮后关闭Darkroom面板。
我还有第二种方法可以解决这个问题。如果有人对它感兴趣,我可以把代码放在公共回购中。
那里的主题演讲:
这种变体是可行的,没有大规模编辑方法的问题。
希望,这个答案对某人有帮助。