gpt4 book ai didi

php - 在页面上显示 php 生成的图像

转载 作者:行者123 更新时间:2023-12-04 21:40:06 25 4
gpt4 key购买 nike

我有一个用于修改图像的功能,我想在我的页面上与其他页面内容一起显示这些图像。

PHP 图像函数:

<?php

function dynamicImage($nw, $nh, $source, $stype, $dest) {
$size = getimagesize($source);
$w = $size[0];
$h = $size[1];
switch($stype) {
case 'gif':
$simg = imagecreatefromgif($source);
break;
case 'jpg':
$simg = imagecreatefromjpeg($source);
break;
case 'png':
$simg = imagecreatefrompng($source);
break;
}
$dimg = imagecreatetruecolor($nw, $nh);
$wm = $w/$nw;
$hm = $h/$nh;
$h_height = $nh/2;
$w_height = $nw/2;
if($w> $h) {
$adjusted_width = $w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $half_width - $w_height;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
} elseif(($w <$h) || ($w == $h)) {
$adjusted_height = $h / $wm;
$half_height = $adjusted_height / 2;
$int_height = $half_height - $h_height;
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
} else {
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
}
header( "Content-type: image/jpeg" );
imagejpeg( $dimg );
imagedestroy( $dimg );
//imagejpeg($dimg,$dest,100);
}
?>

在我希望显示它的 php 页面上(我调用 dynamicImage 函数):

<img id="profilepic" src="<?php $size=getimagesize($pic); $imgx=240; $imgy=($size[1]*$imgx)/$size[0]; dynamicImage($imgx, $imgy, $pic, substr($pic, -3), ''); ?>"  />

但它最终给出了一个空白页。

因为我需要支持范围广泛的旧浏览器,所以我如何在不使用基本编码的情况下进行处理。

提前致谢(这个网站非常有帮助微笑)。

最佳答案

不要直接在图片标签中调用 php 代码

假设您创建了一个用于生成图像并为其命名的脚本

/myimage.php

代码:

<?php

$type = $_GET['type'] || 'png';
// remember to test if variables exist and handle gracefully
$mimetypes = array(
'jpg' => 'image/jpeg',
'png' => 'image/png',
// ad nauseum
);

header('Content-type: '.$mimetypes[$type]);

// handle parsing and output of image here.

然后您可以像这样在您的页面中使用它:

<img src="/myimage.php?width=240&height=240&type=jpg" />

关于php - 在页面上显示 php 生成的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com