php 调整 blob 图像大小

发布于 2024-12-07 17:37:14 字数 537 浏览 0 评论 0原文

我正在回显从 mysql 的 blob 列收到的数据,如下所示:

<?php
$con = mysql_connect("localhost","username","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db("mydb", $con);
  if(isset($_GET['imageid'])){
      $img=$_GET['imageid'];
      $sql="SELECT image FROM vrzgallery WHERE id=$img";
      $que=mysql_query($sql);
      $ar=mysql_fetch_assoc($que);
      echo $ar['image'];
      header('Content-type: image/jpeg');
  }

?>

问题:如何将图像缩小为 500px X 500px

I am echoing the data received from a blob column from mysql like this:

<?php
$con = mysql_connect("localhost","username","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db("mydb", $con);
  if(isset($_GET['imageid'])){
      $img=$_GET['imageid'];
      $sql="SELECT image FROM vrzgallery WHERE id=$img";
      $que=mysql_query($sql);
      $ar=mysql_fetch_assoc($que);
      echo $ar['image'];
      header('Content-type: image/jpeg');
  }

?>

QUESTION: How can i reduce my image to say like 500px X 500px

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

攀登最高峰 2024-12-14 17:37:14

将图像存储在数据库中确实是个坏主意,因为它们太大,更难维护,更难使用等等。您应该仅存储它的路径或文件名。

要调整图像大小,您可以使用 PHP 的 GD 库。使用 imagecreatefromstring() 创建它并使用 imagecopyresized()imagecopyresampled()手册示例

// File and new size
$filename = 'test.jpg';
$percent = 0.5;

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

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

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

// Output
imagejpeg($thumb);

It is really the bad idea to store images in DB, because they are too big, harder to maintain, harder to work with and so on. You should store only path to it or file name.

To resize image you may use PHP's GD library. Create it using imagecreatefromstring() and manipulate using imagecopyresized() or imagecopyresampled(). Example from manual:

// File and new size
$filename = 'test.jpg';
$percent = 0.5;

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

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

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

// Output
imagejpeg($thumb);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文