gpt4 book ai didi

php - 在不使用标题的情况下使用 PHP 调整图像大小

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:39 24 4
gpt4 key购买 nike

我有一个连接到我的 Magento 站点的新闻源。我将提要显示为带有图像的边栏上的列表。现在,当您右键单击并打开它时,我希望提要的图像为缩略图大小。现在,它是 600x400,但我希望它在 95x60 左右。

我知道如何调整 magento 图像的大小,但图像来自不同的非 magento 网站。因此,经过一些研究,我为此所做的是:

foreach($channel as $item) {
preg_match('/<*img[^>]*src *=["\']?([^"\']*)/i', $item->content, $matches);
foreach($i = 0; $i <= count($item->category); $i++) {
if($i < 2) {
$file = $matches[1];
list($width, $height) = getimagesize($file);
$image = imagecreatefromjpeg($file);
$new_image = imagecreatetruecolor(60,95);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, 60, 95, $width, $height);
$image = $new_image;
echo "<img src='data:image/jpeg;base64,".base64_encode(imagejpeg($image))."' />";
}
}
}

我想在调整大小后立即显示图像,因此 data:image/jpeg;base64 部分但奇怪的是这对我不起作用。为什么是这样?如何在不使用标题且不保存图像的情况下调整图像大小。我已经被这个问题困扰了一天多了。请指教。

我知道我可以在 html 中使用 with 和 height 但这与我想要实现的不同。我需要它永久调整大小,这样如果您尝试从列表中下载图像,它仍然是缩略图大小 (95x60) 而不是正常大小 (600x400)。基本上(希望这是清楚的),如果有人试图下载或打开图像,我需要将缩略图的实际大小设置为 95x60。

最佳答案

改变这个:

$image = $new_image;
echo "<img src='data:image/jpeg;base64,".base64_encode(imagejpeg($image))."' />";

对此:

ob_start();
imagejpeg($new_image);
$image = ob_get_contents();
ob_end_clean();
echo "<img src='data:image/jpeg;base64,".base64_encode($image)."' />";

你应该完成 :)

关于php - 在不使用标题的情况下使用 PHP 调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624731/

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