【问题标题】:php simple image resize after upload上传后php简单的图像调整大小
【发布时间】:2011-12-23 05:33:48
【问题描述】:

我环顾了一会,发现了一些我无法开始工作的非常混乱和复杂的东西。

我正在使用 chronoforms 和 joomla 来制作一个带有上传文件脚本的表单,它可以毫无问题地将图像上传到服务器,到目前为止一切顺利。

我需要获取上传的图片并调整它的大小,更好的是,有没有办法在将图片上传到服务器之前调整它的大小?

谢谢。

【问题讨论】:

标签: php image joomla resize


【解决方案1】:

我使用这个简单的 1 功能来完成所有工作

检查一下:

http://www.nimrodstech.com/php-image-resize/

https://github.com/Nimrod007/PHP_image_resize

【讨论】:

    【解决方案2】:

    我在一些项目中使用了PHPThumb,发现它易于使用并且占用的资源很少。您可以阅读文档以获取更多信息,但非常简单:

    $thumb = PhpThumbFactory::create('/path/to/source/image.png');
    
    $thumb->resize(100, 100);
    
    $thumb->save('/path/where/you/want/resized/image.png');
    

    【讨论】:

      【解决方案3】:

      Chronoforms(此处为 v4)确实支持此功能! (我也看到了旧版本的随机痕迹,低至 1.3。)

      我可以将Image Resize 操作(从Utilites 下)拖到所需的表单事件(On Submit 下)。

      注意:这不是用于客户端调整大小。为此,您需要一个 Javascript 表单上传程序包,它可以在上传之前和上传期间显示缩略图。它们通常不易于集成。 (并且使用这些客户端缩略图也用于上传原始图像需要一些更高级的 - 因此更复杂 - 的东西;我会说这很少值得额外的痛苦,只是咬紧牙关在服务器上重新生成缩略图,想想那些可怜的非洲孩子,他们的生活比网络开发人员还要艰难。;))

      【讨论】:

        【解决方案4】:

        [这个例子]就是你要找的imagecopyresampled

        <?php
        // The file
        $filename = 'test.jpg';
        $percent = 0.5;
        
        // Content type
        header('Content-Type: image/jpeg');
        
        // Get new dimensions
        list($width, $height) = getimagesize($filename);
        $new_width = $width * $percent;
        $new_height = $height * $percent;
        
        // Resample
        $image_p = imagecreatetruecolor($new_width, $new_height);
        $image = imagecreatefromjpeg($filename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        
        // Output
        imagejpeg($image_p, null, 100);
        ?>
        

        【讨论】:

        • 恕我直言,这是错误的方法。 PHP 有一个很棒的图像处理库,可以在传输之前完成他需要的工作。这种方法虽然在技术上是正确的,但需要更多带宽并给用户代理带来更多压力。
        • 嗯,我明白了。将在空闲时间尝试改进此答案。
        • @FlyingGuy - 答案尚未编辑,所以 IDK 你在说什么,但这是唯一的原生 PHP 图像库 (GD),它确实在传输之前对图像进行了重新采样。事实上,这个答案与客户端完全无关。所以.. wtf 你在说什么?
        【解决方案5】:

        这是我创建的一个简单的调整大小库,可以在 here on Github 上找到。

        适用于任何框架。

        如何使用该库的示例:

        // Include PHP Image Magician library
        require_once('php_image_magician.php');
        
        // Open JPG image
        $magicianObj = new imageLib('racecar.jpg');
        
        // Resize to best fit then crop (check out the other options)
        $magicianObj -> resizeImage(100, 200, 'crop');
        
        // Save resized image as a PNG (or jpg, bmp, etc)
        $magicianObj -> saveImage('racecar_small.png');
        

        【讨论】:

          猜你喜欢
          • 2011-01-10
          • 1970-01-01
          • 2013-09-19
          • 2013-12-07
          • 2013-10-29
          • 2023-03-18
          • 2011-04-16
          • 2014-03-14
          相关资源
          最近更新 更多