Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
图像上传、分辨率检查、裁剪和预览。PHP_Php_Jquery_Upload_Preview - Fatal编程技术网

图像上传、分辨率检查、裁剪和预览。PHP

图像上传、分辨率检查、裁剪和预览。PHP,php,jquery,upload,preview,Php,Jquery,Upload,Preview,我正在寻找一个解决方案,上传一幅图像,检查分辨率,必要时进行裁剪,然后预览图像,然后再将其打印到画布上 我已经找到了很多这样的例子,但显然没有直接的例子,而且我不想剽窃别人的作品 ASP不是一个选项,因为该站点使用PHP,并且位于“nix”框中 任何指针都将不胜感激。基本上,该文件需要发布到您的PHP脚本中。您可以使用HTML表单(input type='file')或。上载默认存储在web服务器的临时目录中,通过查看phpinfo()的输出可以找到当前目录 下一步,具体地说,您可以从$\u F

我正在寻找一个解决方案,上传一幅图像,检查分辨率,必要时进行裁剪,然后预览图像,然后再将其打印到画布上

我已经找到了很多这样的例子,但显然没有直接的例子,而且我不想剽窃别人的作品

ASP不是一个选项,因为该站点使用PHP,并且位于“nix”框中


任何指针都将不胜感激。

基本上,该文件需要发布到您的PHP脚本中。您可以使用HTML表单(
input type='file'
)或。上载默认存储在web服务器的临时目录中,通过查看
phpinfo()
的输出可以找到当前目录

下一步,具体地说,您可以从$\u FILES数组中的
type
键中找到图像类型,尽管这可以在客户端进行操作,但最好手动检查文件类型

一旦上传了文件,就需要对其进行操作。您可以使用或,ImageMagick可能没有内置到PHP版本中,GD非常常见。我更熟悉GD,因此我建议您查看函数/png/gif&,它可以进行裁剪和重采样。要确定是否需要裁剪/调整大小,可以检查纵横比。这是我突然想到的一个函数:

function fixRatio($x, $y, $ratio) {
    $ratio = round($ratio,6);
    $iRatio = round($x / $y, 6);
    if ($iRatio > $ratio) {
        $x = ceil($y * $ratio);
    } else if ($iRatio < $ratio) {
        $y = ceil($x * (1 / $ratio));
    }
    return array('x' => $x, 'y' => $y);
}
函数固定比率($x,$y,$ratio){
$ratio=四舍五入($ratio,6);
$iRatio=圆形($x/$y,6);
如果($iRatio>美元比率){
$x=ceil($y*$比率);
}否则,如果($iRatio<$ratio){
$y=ceil($x*(1/$ratio));
}
返回数组('x'=>$x,'y'=>$y);
}
输入宽度、高度和所需的纵横比&这将生成一个包含校正尺寸的数组。最好通过将所需高度除以所需宽度来指定比率,例如
fixRatio($x,$y,640/480)
。然后可以使用该信息裁剪图像w/
imagecopyresampled()
,同时可以为函数指定目标宽度和高度。因此,如果所有内容都必须是640x480,那么在调用
imagecopyresampled()
时,应该指定该值。然后可以使用/gif/png将图像作为文件输出到服务器上的公共目录。因为它是公共的,所以你可以通过一个URL来引用它,不管是HTML表单,要求用户确认他们是否喜欢他们看到的或看到的内容