我正在创建一个图像大小调整工具。使用JavaScript完成选择等,然后将值发送到PHP。这工作得非常好。但是,图像未正确调整大小。新图像获得正确的宽度/高度,但图像的选定部分得到了缩放"并且返回与所选内容相比的更多图像。以下图片的示例。
调整大小前的图像宽度/高度
宽度:280px 高度:210px
调整详细信息
输出图像
<?php
$width = 163.094;
$height = 148.5;
$new_width = 62.18745;
$new_height = 69.87505;
$dst_left = 0;
$dst_top = 0;
$src_left = 49.15625;
$src_top = 39.03125;
header('Content-Type: image/png');
// Create a empty image
$new_image = imagecreatetruecolor($new_width, $new_height);
// Set background transparent
imagefill($new_image,0,0,0x7fff0000);
// Create image
$image = imagecreatefrompng("../../uploads/img/imageNX4jDQ.png");
// Create new image
imagecopyresampled($new_image, $image, $dst_left, $dst_top, $src_left, $src_top, $new_width, $new_height, $width, $height);
// Keep transparency
imageAlphaBlending($new_image, true);
imageSaveAlpha($new_image, true);
// Output
$test = imagepng($new_image, "../../uploads/img/test.png");
$test;
?>
答案 0 :(得分:2)
这个图总能帮助我:
http://php.net/manual/en/function.imagecopyresampled.php#112742
除此之外我会期待你的JS通过原始宽度62.18745,高度69.87505。
如果您需要在此之后缩小图像,则必须根据您的需要调整new_width和height值。