在发送到客户端之前在PHP中调整BLOB映像的大小

时间:2015-05-16 16:02:22

标签: php html mysql blob

我有一个图像,我从数据库中取出BLOB但是我发送客户端的全尺寸图像,然后调整大小。图像可能会变得非常大,所以我想在将图像发送到客户端之前调整图像大小。

我目前有以下代码:

if (!empty($row['img'])) {$img = $row['img'];}
$width = imagesx(imagecreatefromstring($img));
$height = imagesy(imagecreatefromstring($img));
$resizer = $width/200;
$newHeight = floor($height/$resizer);
$news = $news . "<div class='newsItem' style='min-height:".$newHeight."px;'>";
if (isset($img)) {$news = $news . "<img src='data:image/jpeg;base64,".base64_encode($img)."' width='200' height='".$newHeight."'>";}
$news = $news . "<h2>".$title."</h2><hr class='newsHr'><span>".$text."</span></div>";

我可以使用哪些功能来调整$ img的大小?

1 个答案:

答案 0 :(得分:1)

这对你有用。从此Manual

中取得的示例
<?php    
// Load
    $thumb = imagecreatetruecolor($newwidth, $newheight);
    $source = imagecreatefromjpeg($filename);

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

    // Output
    imagejpeg($thumb);
?>

将BLOB mage转换为文件使用。

file_put_contents('/path/to/new/file_name', $my_blob);