如何获取图像裁剪的坐标

时间:2012-09-17 21:38:23

标签: php javascript image

我正在尝试实现YUI图像裁剪器。我对Javascript几乎一无所知 - 所以显然很难理解它是如何工作的。任何人都可以指出我正确的方向,以便能够抓取图像的裁剪区域的坐标,以便我可以将这些传递到PHP脚本进行裁剪,然后将图像保存到文件。到目前为止,我得到了我想裁剪的图像以及裁剪区域,我可以拖动并使用手柄来做大和小:

<script>
// Create a YUI sandbox on your page.
YUI().use('node', 'event', function (Y) {
// The Node and Event modules are loaded and ready to use.

var imgCrop = new YAHOO.widget.ImageCropper('crop1',
 { 
           minHeight: 100,
           minWidth: 200,
           initHeight: 100,
           initWidth: 200
        });

        var cropArea = imgCrop.getCropCoords();

});
</script>

<?php

<img src='$approve' id='crop1' />

?>

任何提示和指示都将非常受欢迎,因为使用YUI证明是困难的。感谢

1 个答案:

答案 0 :(得分:0)

首先,您可以使用PHP裁剪图像,那么为什么要烦扰您不熟悉的语言呢?

其次,你出于什么目的裁剪图像?缩略图?

以下是您可能从中受益的示例。这将创建原始图像的100x100(已调整大小和裁剪)缩略图。

if(preg_match('/[.](jpg)$/', $tfile)) {
    $image = imagecreatefromjpeg($ufile);
} else if (preg_match('/[.](gif)$/', $tfile)) {
    $image = imagecreatefromgif($ufile);
} else if (preg_match('/[.](png)$/', $tfile)) {
    $image = imagecreatefrompng($ufile);
}
$oldx = imagesx($image);
$oldy = imagesy($image);
if ($oldx > $oldy) {
    $offx = ($oldx-$oldy)/2;
    $offy = 0;
    $oldx = $oldy;
} elseif ($oldy > $oldx) {
    $offx = 0;
    $offy = ($oldy-$oldx)/2;
    $oldy = $oldx;
} else {
    $offx = 0;
    $offy = 0;
}
$newim = imagecreatetruecolor(100, 100);
imagecopyresampled($newim, $image, 0, 0, $offx, $offy, 100, 100, $oldx, $oldy);