gpt4 book ai didi

php - 如何使用 php 压缩/降低 base64 图像的质量?

转载 作者:行者123 更新时间:2023-12-05 01:40:38 25 4
gpt4 key购买 nike

我在我的数据库中以 base64 格式存储了多张图像。我使用 php 作为图像路径获取图像。但是我想在从 base64 解码图像时减小图像的大小,因为如果我加载全尺寸图像,它会减慢我的应用程序。 (我只需要在后端使用全尺寸图像)。

/* 

DB stuff getting base64 string from database

$img = base64 string (can be with 'data:image/jpg;base64,' in front, thats for the str_replace())
*/

if($img){
header("Content-Type: image/png");
echo base64_decode(str_replace("data:image/jpg;base64,","",$img));
}

这样一切都很好。我这样使用它:

<img src="http://example.com/getimg.php?id=4" />

或在 CSS 中。出于安全原因,我需要这个,我不能在服务器上存储任何图像,而且在我有 access_token 变量的路径中,所以随机的人看不到图像。

有没有办法在不将实际图像存储在服务器中的情况下执行此操作?

最佳答案

您可以使用imagecreatefromstringimagecopyresized

实例 here

<?php
if ($img) {
$percent = 0.5;

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

$data = base64_decode($img);
$im = imagecreatefromstring($data);
$width = imagesx($im);
$height = imagesy($im);
$newwidth = $width * $percent;
$newheight = $height * $percent;

$thumb = imagecreatetruecolor($newwidth, $newheight);

// Resize
imagecopyresized($thumb, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);
}

关于php - 如何使用 php 压缩/降低 base64 图像的质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56147580/

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