获取Blob中图像的宽度和高度

3

我在MySQL数据库中有一些图片,每个图片都存储在BLOB字段中。如何评估这些图片的像素宽度和高度?


使用imagecreatefromstring()将blob数据转换为图像,然后使用getimagesize()检索其尺寸。 - r3mainer
在将图像存储到数据库时,您可以获取其大小并将其存储到数据库中。这将减少麻烦。简单易行。 - Dimag Kharab
@CodingAnt,很遗憾这不是一个选项,因为数据库中已经有数百张图片了。 - tmuecksch
@squeamishossifrage,谢谢你的建议。我会尝试一下。 - tmuecksch
1
我很好奇你为什么选择将图像存储在数据库中。为什么不将文件存储在本地?这不仅更快,而且更容易管理... - KarelG
@KarelG 你说得对。我同意你的观点。我正在为一个客户工作,处理非常古老的代码,并被要求只做一些小的修改。 - tmuecksch
1个回答

3

假设您已通过mysqli_query从数据库中的blob字段检索到图像并将其分配给变量$image。 您可以使用以下代码:

$im = imagecreatefromstring($image);
$width = imagesx($im);
$height = imagesy($im);

哎呀,很不幸,这对我现在不起作用,因为我遇到了这个错误,我无法解释:
imagecreatefromstring():gd-jpeg:JPEG库报告不可恢复的错误: 在文件ImgDoc.inc.php的第38行|此行中仅包含内容:$img = imagecreatefromstring($imageArray [$key] [“Image”]);
- tmuecksch
您可能需要将内存限制设置得更高一些。这是另一个页面,可能有助于解决此错误:https://dev59.com/72kv5IYBdhLWcg3waAJT - SyntaxLAMP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接