我使用jQuery的imgAreaSelect插件来裁剪图像并保存缩略图以便在例如比例发生变化的情况下使用。令人遗憾的是,结果与我所期望的并不相符,而我无法做到。图像被整体调整大小而不是被裁剪。PHP GD作物和比例尺图像
这里的测试例子:
<?php
/***
*
* $_GET returned values
*
* x1 = 0
* x2 = 400
* y1 = 66
* y2 = 258
* w = 400
* h = 192
* folder = widethumb
* filename = IMG_4591.jpg
* scale = 48
*
* Original image properties
*
* width = 600px
* height = 900px
*
***/
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);
extract($_GET);
$fn = $filename;
$filename = DOCROOT.$filename;
list($width, $height) = getimagesize($filename);
$src = imagecreatefromjpeg($filename);
$dst = imagecreatetruecolor($w, $h);
imagecopyresampled($dst, $src, 0, 0, (int) $x1, (int) $y1, (int) $w, (int) $h, $width, $height);
header('Content-Type: image/jpeg');
imagejpeg($dst);
什么我mising这里?
干杯!
没有工作,显示的图像似乎指向'0,0',而不是'0,66'。 – yoda
你可以发布你的更新代码。由于它对我来说非常合适,请参阅更新我的答案。 – danishgoel
解决了这个问题,在'imagecopyresampled'上使用'$ width'和'$ height',我会坚持下去,在需要按比例显示时在'img'标签上定义'width'和'height'。不是最好的解决方案,但它也可以。我忘记的另一件事是我用小规模('2/3'或原来的)'jQuery'显示图像,因此给我一个奇怪的结果。谢谢,你的答案帮助:) – yoda