将400x400模糊缩小到300x300

罗素·哈勒

好的,这是问题所在,400x400 jpeg看起来不错,质量很好。但是,将尺寸调整为300x300时,看起来好像已经被拆开,并由2岁的儿童放回原处。

这是脚本

$image->resize(300,300);

调用以下脚本

 function resize($width,$height) {
      $new_image = imagecreatetruecolor($width, $height);
      imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
      $this->image = $new_image;
   }   

图片已上载以调整大小。

在此处输入图片说明

这是图像类

class SimpleImage {

   var $image;
   var $image_type;

   function load($filename) {

      $image_info = getimagesize($filename);
      $this->image_type = $image_info[2];
      if( $this->image_type == IMAGETYPE_JPEG ) {

         $this->image = imagecreatefromjpeg($filename);
      } elseif( $this->image_type == IMAGETYPE_GIF ) {

         $this->image = imagecreatefromgif($filename);
      } elseif( $this->image_type == IMAGETYPE_PNG ) {

         $this->image = imagecreatefrompng($filename);
      }
   }

   function save($filename, $image_type=IMAGETYPE_JPEG, $compression=99, $permissions=null) {

      if( $image_type == IMAGETYPE_JPEG ) {
         imagejpeg($this->image,$filename,$compression);
      } elseif( $image_type == IMAGETYPE_GIF ) {
         imagegif($this->image,$filename);
      } elseif( $image_type == IMAGETYPE_PNG ) {
         imagepng($this->image,$filename);
      }


      if( $permissions != null) {

        chmod($filename,$permissions);
      }
   }
   function output($image_type=IMAGETYPE_JPEG) {

      if( $image_type == IMAGETYPE_JPEG ) {
         imagejpeg($this->image);
      } elseif( $image_type == IMAGETYPE_GIF ) {

         imagegif($this->image);
      } elseif( $image_type == IMAGETYPE_PNG ) {

         imagepng($this->image);
      }
   }

    function getWidth() {

      return imagesx($this->image);
   }
   function getHeight() {

      return imagesy($this->image);
   }
   function resizeToHeight($height) {

      $ratio = $height / $this->getHeight();
      $width = $this->getWidth() * $ratio;
      $this->resize($width,$height);
   }

  function resize($width,$height) {
      $new_image = imagecreatetruecolor($width, $height);
      imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
      $this->image = $new_image;
   }   

}
兴奋剂

为了测试您的功能,我必须实现该类的其余部分。这对我适用于PHP 5.5.14。您的代码原封不动地包含在此处:

class image
{
    public $image = null;

    public function __construct($img)
    {
        $this->image = imagecreatefromjpeg($img);
    }

    public function resize($width,$height) {
        $new_image = imagecreatetruecolor($width, $height);
        imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
        $this->image = $new_image;
    }

    public function getWidth()
    {
        return imagesx($this->image);
    }

    public function getHeight()
    {
        return imagesy($this->image);
    }
}

$image = new image('img.jpg');

$image->resize(300,300);

header('Content-Type: image/jpeg');
imagejpeg($image->image);
exit;

这给了我以下输出,虽然有些模糊,但比您的示例要好得多。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TensorFlow如何将图像缩小到7x7?

来自分类Dev

将instanceof缩小到特定的子类

来自分类Dev

Codeigniter:上传尺寸为300x300的图像(保持率被提及为false)..但矩形图像变窄

来自分类Dev

JPEG到具有300x300分辨率的bmp输出扭曲的灰度图像

来自分类Dev

如何将多张图片批量裁剪到固定区域?前任。在多张1600x2000图片中裁剪400x300部分

来自分类Dev

合并两个PDF,缩小到〜3“ x4”,然后连续打印

来自分类Dev

如何将TableLayout列缩小到minWidth?

来自分类Dev

强制将图像缩小到较小的编程习惯吗

来自分类Dev

将搜索结果缩小到多个类别

来自分类Dev

将VBA的范围缩小到单个文档?

来自分类Dev

强制将图像缩小到较小的编程习惯吗?

来自分类Dev

如何将TableLayout列缩小到minWidth?

来自分类Dev

将CSS / JS缩小到各自的文件中

来自分类Dev

将Valo主题的间距和小部件尺寸缩小到Reindeer主题的间距

来自分类Dev

使用Guard将JavaScript文件缩小到另一个目录

来自分类Dev

如何将灵活表格单元中的图像按比例缩小到窗口尺寸?

来自分类Dev

如何将Flutter列中的小部件缩小到可用大小?

来自分类Dev

将numpy数组保存到图像会将图像部分缩小到错误的大小

来自分类Dev

discord.py(重写)如何将命令使用能力缩小到单个通道?

来自分类Dev

为什么打字稿将未知范围缩小到从不进入可达条件块?

来自分类Dev

如何有效地将数组缩小到目标标准差

来自分类Dev

如何将整个网页缩小到ipad或手机大小

来自分类Dev

将浏览器内容缩小到浏览器窗口大小

来自分类Dev

将html视频缩小到父容器的大小,而不使用隐藏的溢出

来自分类Dev

如何将开发数据库缩小到更小?

来自分类Dev

将数据集缩小到更小的尺寸,保留数据集中的信息要点

来自分类Dev

将 ID 缩小到不存在某个属性值的地方

来自分类Dev

调整图像大小以恰好适合300 x 300像素的Jlabel

来自分类Dev

缩小到具有组织速度的子树

Related 相关文章

  1. 1

    TensorFlow如何将图像缩小到7x7?

  2. 2

    将instanceof缩小到特定的子类

  3. 3

    Codeigniter:上传尺寸为300x300的图像(保持率被提及为false)..但矩形图像变窄

  4. 4

    JPEG到具有300x300分辨率的bmp输出扭曲的灰度图像

  5. 5

    如何将多张图片批量裁剪到固定区域?前任。在多张1600x2000图片中裁剪400x300部分

  6. 6

    合并两个PDF,缩小到〜3“ x4”,然后连续打印

  7. 7

    如何将TableLayout列缩小到minWidth?

  8. 8

    强制将图像缩小到较小的编程习惯吗

  9. 9

    将搜索结果缩小到多个类别

  10. 10

    将VBA的范围缩小到单个文档?

  11. 11

    强制将图像缩小到较小的编程习惯吗?

  12. 12

    如何将TableLayout列缩小到minWidth?

  13. 13

    将CSS / JS缩小到各自的文件中

  14. 14

    将Valo主题的间距和小部件尺寸缩小到Reindeer主题的间距

  15. 15

    使用Guard将JavaScript文件缩小到另一个目录

  16. 16

    如何将灵活表格单元中的图像按比例缩小到窗口尺寸?

  17. 17

    如何将Flutter列中的小部件缩小到可用大小?

  18. 18

    将numpy数组保存到图像会将图像部分缩小到错误的大小

  19. 19

    discord.py(重写)如何将命令使用能力缩小到单个通道?

  20. 20

    为什么打字稿将未知范围缩小到从不进入可达条件块?

  21. 21

    如何有效地将数组缩小到目标标准差

  22. 22

    如何将整个网页缩小到ipad或手机大小

  23. 23

    将浏览器内容缩小到浏览器窗口大小

  24. 24

    将html视频缩小到父容器的大小,而不使用隐藏的溢出

  25. 25

    如何将开发数据库缩小到更小?

  26. 26

    将数据集缩小到更小的尺寸,保留数据集中的信息要点

  27. 27

    将 ID 缩小到不存在某个属性值的地方

  28. 28

    调整图像大小以恰好适合300 x 300像素的Jlabel

  29. 29

    缩小到具有组织速度的子树

热门标签

归档