如何定义图像php命令捕获的宽度和高度?

时间:2017-06-14 06:26:38

标签: php

我在wordpress function.php

中使用此功能
$('.someText').quickfit({max:50,tolerance:.4})

并使用

调用存档,搜索和其他wp phps
<?php
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}
?>

这是问题,我需要的只是offtheme支持,因为我没有使用WordPress上传图片和插入帖子。我需要将出现的每个图像自动调整为宽度250和141高度 目前它们仅用作大图像并通过宽度高度条目调整大小。我需要新的功能来制作自定义大小的jpg文件并使用它们。

检查此Link,您就会明白我的需求。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您需要使用PHP的ImageMagickGD函数来处理图片。

例如,使用GD,它就像......一样简单。

function resize_image($file, $w, $h, $crop=FALSE) {
    list($width, $height) = getimagesize($file);
    $r = $width / $height;
    if ($crop) {
        if ($width > $height) {
            $width = ceil($width-($width*abs($r-$w/$h)));
        } else {
            $height = ceil($height-($height*abs($r-$w/$h)));
        }
        $newwidth = $w;
        $newheight = $h;
    } else {
        if ($w/$h > $r) {
            $newwidth = $h*$r;
            $newheight = $h;
        } else {
            $newheight = $w/$r;
            $newwidth = $w;
        }
    }
    $src = imagecreatefromjpeg($file);
    $dst = imagecreatetruecolor($newwidth, $newheight);
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    return $dst;
}

你可以这样调用这个函数......

$img = resize_image(‘/path/to/some/image.jpg’, 200, 200);

根据个人经验,GD的图像重新采样确实大大减少了文件大小,尤其是在重新采样原始数码相机图像时。

来自here的答案。