图像调整代码不在div标签中工作。我有一个PHP代码,但调整大小后它没有显示div标签中的图像,请帮我解决这个问题。
// The file
$filename = 'Pictures/DSC_0039 (2).jpg';
// Set a maximum height and width
$width = 200;
$height = 200;
// Content type
header('Content-Type: image/jpeg');
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Output
imagejpeg($image_p, null, 100);
?>
</div>
答案 0 :(得分:1)
您设置了header('Content-Type: image/jpeg')
。所以,你不能再添加html标签了。将代码保存为“resizeimage.php”并创建另一个类似
<div>
<img src="resizeimage.php" />
</div>
答案 1 :(得分:0)
在将已调整大小的图像显示到标记中时遇到的问题是,如果要以这种方式输出图像,即使用标题('Content-Type:image / jpeg'); 条件是在标题之前和 imagejpeg($ image_p,null,100)之后,不应该向浏览器呈现任何内容(表示没有HTML标记甚至是空格); line,否则您的图像将不会显示,而是会遇到如下错误:图像.....因为包含错误而无法显示。
所以对你来说我粘贴下面的示例代码:
<?php
// The file
$filename = 'Koala.jpg';
// Set a maximum height and width
$width = 200;
$height = 200;
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Output
imagejpeg($image_p, "resized_img.jpg", 100);//in this function the second parameter is the filename of the new resized image
?>
<img src="resized_img.jpg" />