PHP + JCrop-裁剪错误的区域

维托·比利亚

我正在尝试使用jcrop保存基于x,y,w,h的裁剪图像。我将x,y轴和宽度/高度发送到我的PHP文件,但裁剪区域错误。

这是我的PHP功能

$axis_x = $_POST["x"];
$axis_y = $_POST["y"];
$width = $_POST["w"];
$height = $_POST["h"];
$path_foto = "imgs/3.jpg";
$targ_w = $width;
$targ_h =  $height;
$jpeg_quality = 90;
$src = $path_foto;
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);

imagecopyresampled($dst_r, $img_r, 0, 0, $axis_x, $axis_y, $width, $targ_w, $targ_h, $height);

imagejpeg($dst_r, $path_foto, $jpeg_quality);

每次变红图像时,jcrop都会在隐藏的输入中设置此坐标。问题总是出在错误的区域。

我做错了什么?

纪尧姆·布德罗(Guillaume Boudreau)

(在不知道结果有什么“错误”的情况下,很难为您提供帮助。)

但是您正在/可能遇到的一些明显问题:

  1. 您呼叫的参数顺序imagecopyresampled()有误:最后4个参数应为$targ_w, $targ_h, $width, $height Ref

  2. “坐标是指左上角。” 参考
    这意味着它y = 0位于图像的顶部,而不是底部。因此,如果您$_POST["y"]是图像底部的像素数,则需要从原始图像的高度中减去该值,然后它才能按预期工作。

获取您的代码,并使用一些硬编码的值:

<?php
$axis_x = 115;
$axis_y = 128;
$width = 95;
$height = 128;
$path_foto = "/Users/gb/Downloads/original.jpg";
$targ_w = $width;
$targ_h =  $height;
$jpeg_quality = 90;
$src = $path_foto;
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);

imagecopyresampled($dst_r, $img_r, 0, 0, $axis_x, $axis_y, $targ_w, $targ_h, $width, $height);

imagejpeg($dst_r, "/Users/gb/Downloads/cropped.jpg", $jpeg_quality);

original.jpg: original.jpg

cropped.jpg: cropped.jpg

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JCrop保存裁剪的图像

来自分类Dev

通过将xy发送到php进行裁剪,jcrop可以在上传之前工作吗?

来自分类Dev

使用Jcrop和PHP GD进行裁剪会生成黑色JPEG

来自分类Dev

使用Jcrop和PHP GD进行裁剪可创建黑色JPEG

来自分类Dev

裁剪窗口上的JCrop斑马图案

来自分类Dev

如何使用jcrop裁剪不同尺寸的图像

来自分类Dev

Extjs Jcrop-使用预览裁剪图像

来自分类Dev

Jcrop和Canvas:裁剪区域的大小很奇怪&500 Internal Server Error

来自分类Dev

Ajax,php输出,iframe和JCrop

来自分类Dev

载波和Jcrop,裁剪后要删除原始文件吗?

来自分类Dev

使用JCrop裁剪图像绘制到画布中

来自分类Dev

使用Jcrop裁剪并上传大尺寸图片

来自分类Dev

使用JCrop裁剪绘制到画布中的图像

来自分类Dev

将Jcrop选择的外部区域设置为不可见

来自分类Dev

JCrop将选择的大小调整为错误的值

来自分类Dev

JCrop将选择的大小调整为错误的值

来自分类Dev

JCrop如何通过将其拖动到div上来裁剪图像(例如facebook封面)

来自分类Dev

在创建映像之前,将jCrop与cloudinary一起通过rails 4进行裁剪

来自分类Dev

使用JCROP和JQUERY通过基于jsp..url的图像源/动态图像无法裁剪图像

来自分类Dev

Jcrop默认选择框

来自分类Dev

Jcrop保存以前的图像

来自分类Dev

对齐Jcrop图像

来自分类Dev

Jcrop什么也没做

来自分类Dev

Jcrop:套用新图片后,setImage jcrop不会采用TrueSize

来自分类Dev

Jcrop:套用新图片后,setImage jcrop不会采用TrueSize

来自分类Dev

Jcrop将旋转集成到

来自分类Dev

Jcrop手柄破坏

来自分类Dev

Jcrop大图像真实尺寸

来自分类Dev

JCrop-功能未实现