【问题标题】:automatically cropping image on upload [duplicate]上传时自动裁剪图像[重复]
【发布时间】:2014-11-02 22:27:23
【问题描述】:

我有一些图片上传表格。我想自动裁剪图像。并在提交时保存裁剪图像。

<input type="file" id="file" name="files[]" multiple/>

我想裁剪图像: 例如 800x600,但来自图像的中心,而不是角落。

【问题讨论】:

  • 您希望在浏览器或网络服务器上进行图像裁剪?
  • @TasosK。我想在上传图片的同时进行裁剪和保存。像所有用于上传照片的在线网站一样,但需要对其进行裁剪
  • 如果您知道python,并且可以在您的服务器上启用cgi-scripting,那就容易多了。
  • @gandaliter 它不是重复的,首先阅读所有内容。我想从中心裁剪图像,这不是同一个问题
  • @chipChocolate.py 我不懂python,我只是想要一些解决方案来解决我的问题,谢谢

标签: php html image file upload


【解决方案1】:

正常上传文件即可。 然后,这应该可以解决问题:

$filename = "LINK TO IMAGE";

// Get dimensions of the coriginal image
list($width, $height) = getimagesize($filename);

// Resample the image
$canvas = imagecreatetruecolor('800', '600');
$current_image = imagecreatefromjpeg($filename);
imagecopy($canvas, $current_image, 0, 0, $width/2, $height/2, '800', '600');
imagejpeg($canvas, $filename.'_cropped.jpg', 100);
chmod($filename.'_cropped.jpg', 0644);
unlink($filename);

我没有测试上面的代码。如有错误,请添加评论,我会提供帮助。

【讨论】:

  • 感谢您的回答,但是这个 $filename 是当我已经上传图片时,我想在上传图片之前做这个技巧,但不知道如何:/
  • @shapic94 在上传之前执行此操作将需要 javascript 或其他客户端语言。只需上传,调整大小并删除原件(unlink($filename); 删除原件)。如果您考虑使用 PHP,将其放在服务器上的 /tmp 文件夹或其他文件夹中是一样的,所以按照我的建议进行操作
  • 再次感谢,有一个新问题。我从事用户可以出售他们的东西的项目。像易趣。当他们上传图片时,是保存原始图片还是裁剪?因为在广告视图之后(所有图片的宽度高度相同)。是在上传时裁剪图片更好,还是在他们看图片时裁剪它。如果你明白我想说什么
猜你喜欢
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
相关资源
最近更新 更多