如何使用php

时间:2017-01-07 21:06:08

标签: php image image-conversion

有可能在php中缩放图像吗? 我在google上搜索过但没有找到任何实用程序。

如果有人有任何提示,请给我。谢谢

3 个答案:

答案 0 :(得分:2)

如果你遵循imagecopyresampled php示例(并使其变大而不是更小 - (在php.net示例中演示的更小),如果你正在传递一个js变量,那么你会得到像以下php:

<?php
// The file
$imgin = $_POST["dogimg"];  
      //e.g if your img is called dogimg!
$percent = 1.4; //140%

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($imgin);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_out = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($imgin);
imagecopyresampled($image_out, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_out, null, 100);
?>

但是,我应该指出在使用图像等文件类型时应该小心,我建议您在开始时将error handling添加到check that the file is an image(最好在上传时)如果您通过网站上传图像,则开始使用图像)。

如果您正在处理已上传到服务器上的预先上传的图片,那么您应该好好去。

答案 1 :(得分:2)

使用imagemagic

$geometry = '142x106';
$resize_geo = $geometry.'^';
$crop_geo = $geometry.'+0+0';
`convert $pic_original_path -resize $resize_geo -gravity Center -crop $crop_geo $pic_resized_path`;

答案 2 :(得分:1)

Imagecopyresampled解决方案:

$zoom=120; //to zoom 120%
$width = imagesx($myimage);
$height = imagesy($myimage);

$new_width = $width * $zoom / 100;
$new_height = $height * $zoom / 100;

imagecopyresampled($image_p, $myimage, 0, 0, 0, 0, $new_width, $new_height, $width, $height);