使用Jcrop和Pixastic进行裁剪

时间:2012-08-24 03:42:54

标签: javascript jquery crop jcrop pixastic

现在我正在构建一个用于图像处理的网站,我正在使用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可以告诉我位置的价值,我可以将这些值放入Pixastic cropImg函数中。

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

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

提前谢谢你,对这么久的问题感到抱歉。 祝你有美好的一天!

P.S我一个月前刚刚学习了HTML,CSS和Javascript,但根本不知道其他编程语言,所以如果你能详细解释或者给我一个更简单的答案,那就太棒了!

1 个答案:

答案 0 :(得分: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和amp;之外,我还使用了Pixastic jQuery适配器。 Pixastic。