好的我是PHP的新手我在下面找到了以下脚本。但我不知道如何使用它我想知道我在哪里链接到图像,例如 images / photo.jpg ,以便让我开始学习这个脚本谢谢。
这是代码。
<?php
function resizeImage($originalImage,$toWidth,$toHeight){
// Get the original geometry and calculate scales
list($width, $height) = getimagesize($originalImage);
$xscale=$width/$toWidth;
$yscale=$height/$toHeight;
// Recalculate new size with default ratio
if ($yscale>$xscale){
$new_width = round($width * (1/$yscale));
$new_height = round($height * (1/$yscale));
}
else {
$new_width = round($width * (1/$xscale));
$new_height = round($height * (1/$xscale));
}
// Resize the original image
$imageResized = imagecreatetruecolor($new_width, $new_height);
$imageTmp = imagecreatefromjpeg ($originalImage);
imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
return $imageResized;
}
?>
答案 0 :(得分:1)
这里有几个潜在的陷阱,所以我会给你一些可能遇到的潜在问题:
function getRoot(){ $cwd = getcwd(); $splitCwd = explode("/", $cwd); $root = ""; for($count=0; $count<count($splitCwd)-1;$count++){ $root .= '/' . $splitCwd[$count]; } $root = $root . '/'; return $root; }
然后你可以传入(getRoot()。$ image,...)
创建一个检查文件类型的开关(请参阅我的回答here)。这将允许您调整大小而不仅仅是jpeg,并输出不仅仅是jpeg,这在涉及透明度时很好。
可能有一个或两个最终参数,即输出文件名。这样,您可以制作缩略图,同时保持原始图像的完整性。在这种情况下,您可以执行imagejpeg(或imagepng等),并在设置新名称参数时将其传递给它。
答案 1 :(得分:0)
您将链接转换为原始JPEG作为函数中的第一个参数,该参数将设置为$ originalImage。
因此,在调用该函数时,您将使用:
resizeImage("images/photo.jpg",800,600);
这两个数字将是您的宽度/高度值。
答案 2 :(得分:0)
您必须添加
,而不是返回行header('Content-type: image/jpeg');
imagejpeg($imageResized);
或检查http://www.php.net/manual/en/function.imagejpeg.php和示例#2保存JPEG图像