1

现在我正在建立一个图像处理网站,我正在使用 Pixastic 中的大部分功能,它们非常好。但是,我在考虑裁剪功能是否有任何改进。

我可以在 Pixastic 中使用裁剪功能,但我想通过光标裁剪图像。我不想像这样输入位置的值:

function cropImg()  {
Pixastic.process(document.getElementById("image"), "crop", {rect: {left: 50, top:50, width:50, height: 50}});

};

但是我不知道怎么用jquery来获取位置的值,比如offset()、e.pageX、e.pageY、mousedown()和mouseup(),所以决定用jcrop进行裁剪. 但是,如果你们中的任何人都可以帮助我解决这个问题,那就太好了。

这是我的 Jcrop 代码:

$(document).ready(function(){
$('#image').Jcrop({
    onChange: showCoords,
    onSelect: showCoords
});
});
function showCoords(c)
{
$('#x').val(c.x);
$('#y').val(c.y);
$('#x2').val(c.x2);
$('#y2').val(c.y2);
$('#w').val(c.w);
$('#h').val(c.h);
}; 

这些 Jcrop 代码使我能够选择区域并告诉我位置的值,但它没有告诉我如何裁剪或我可以为该功能设置的按钮,所以我在考虑是否可以将 Pixastic 和 Jcrop 结合起来这:

function cropImg()  {
Pixastic.process(document.getElementById("image"), "crop", {rect: {left: $('#x').val(), top: $('#y').val(), width: $('#w').val(), height: $('#h').val()}});

};

我在想如果 Jcrop 可以告诉我位置的值,我可以将这些值放入 PixasticcropImg 函数中。

我将 Pixastic 代码和 Jcrop 代码分别放在两个文件中,但无论我做什么,它们都不能一起工作。要么我可以选择图像,但 Pixastic 功能都不起作用,或者 Jcrop 不起作用。

因此,如果有人知道如何进行裁剪,我正在寻求帮助,我非常感谢您的回答!如果我没有清楚地解释我的问题以及解决此问题所需的更多信息,请告诉我。

提前谢谢你,很抱歉这么长的问题。祝你有美好的一天!!

PS 我一个月前刚学了 HTML、CSS 和 Javascript,但完全不懂其他编程语言,所以如果你能详细解释或给我一个更简单的答案,那就太好了!

4

1 回答 1

2

这是我现在在项目中使用的代码。

var canvasImage = $(".editor canvas");
canvasImage.Jcrop({
    onSelect: function (coords) {
        canvasImage.pixastic("crop", {
            rect: {
                left: coords.x,
                top: coords.y,
                width: coords.w,
                height: coords.h
            }
        });
        this.release();
        this.disable();
    }
});

请注意,除了 Jcrop 和 Pixastic 之外,我还使用了 Pixastic jQuery 适配器。

于 2012-11-14T16:45:46.297 回答