图像在用户端之前调整大小

时间:2015-02-28 01:32:44

标签: php

更新: 现在我学到了更多,我看了很多,修改了我得到了这个:

function show_image($image, $new_width, $new_height) {
    //$this->helper('file');                   why need this?
    //$image_content = read_file($image);      We does not want to use this as output.
    list($old_width,$old_height) = getimagesize("$image");
    //resize image
    $image = imagecreatefromjpeg($image);
    $thumbImage = imagecreatetruecolor($new_width, $new_height);
    imagecopyresized($thumbImage, $image, 0, 0, 0, 0, $new_width, $new_height, $old_width, $old_height);
    imagedestroy($image);
    //imagedestroy($thumbImage); do not destroy before display :)
    ob_end_clean();  // clean the output buffer ... if turned on.
    header('Content-Type: image/jpeg');
    imagejpeg($thumbImage); //you does not want to save.. just display
    imagedestroy($thumbImage); //but not needed, cause the script exit in next line and free the used memory
    exit;

} 使用此功能时,我得到一个文件,但我需要一个URL 我想能够使用:

 <img src=" ... ">

1 个答案:

答案 0 :(得分:0)

由于您无法在服务器上使用GD,因此可以选择在客户端处理它。

想到的一个想法是将图像加载到html5画布中,并在将其上传到服务器之前使用它来操纵图像特征。

这篇文章讨论了如何直接从画布上传图像数据并将其保存为服务器上的图像。

How to save a HTML5 Canvas as an image on a server

您还可能需要查看JavaScript File API以将图像加载到客户端的画布中。

这不一定是一个简单的解决方案,但它可能是你无法访问GD和东西的最佳镜头。