我可以知道是否有任何简单的代码来缩放我从数据库中检索到的图像以进行显示。有很多解决方案,但似乎所有这些对我来说都非常复杂。
基本上,我只是从数据库中获取图像文件并显示它。我希望显示的图像尺寸一致。
如果您正在寻找简单性,我建议您使用 CSS 来缩放图像。
看看这个威胁: 使用 CSS 按比例调整图像大小?
您还可以使用 CSS 剪辑属性按照您的意愿裁剪图像:http: //www.w3schools.com/cssref/pr_pos_clip.asp
<?php
$image = new Imagick( $filename );
$image->resizeImage(200,200, imagick::FILTER_LANCZOS, 0.9, true);
?>
您将需要 Imagemagik api 或使用 css 方式执行此操作,如上文所述
图像大小在某种程度上与文件大小无关,因为位深度分辨率是文件大小的主要因素。但是对于缩放和保持纵横比(所以看起来并不好笑),您会发现高度与固定目标宽度的比例等效。与将图像存储在网络存储中相比,存储在表格中的图像对性能的影响很大,但我们可以讨论替代方案。
例如,假设您希望固定宽度为 500,但图片为 1280x900。
将比率 1280/900 与 500/x 交叉乘以得到 (450000)=1280x,现在求解 X=(450000)/1280 或 x=351.5625 以获得新高度。
所以我们可以把它翻译成php,比如:
//detect picture size
list($width, $height, $type, $attr) = getimagesize("image_file_name.gif");
由于我们已经知道目标宽度,让我们通过使用交叉乘法的简化版本来获得目标高度:
$newHeight=($height*500)/$width;
现在我们要做的就是使用调整大小的方法,因为现在我们也有了目标高度。
这是一篇关于这个主题的好文章:https ://dzone.com/articles/resize-image-class-php
我现在没有时间写详细的帖子。