首页 > 解决方案 > 如何将图像作为流提供

问题描述

在我多年使用网络(以及偶尔开发网站)的过程中,我注意到有些网站提供的图像与其他网站不同。

  1. 第一种是先提供低质量的图像,然后逐渐提供更多的数据,使图像变得更清晰。
  2. 第二种为图像提供服务,就好像它是从上到下垂直扫描一样。

这张图片说明了我想说的

据我所知,我设置的每个 PHP、NodeJS 服务器都像第二种那样提供图像。

所以我的问题是如何在 PHP 或 NodeJS(使用 ExpressJS)中实现行为 1?

PS

没有 javascript/ajax/(正在使用任何 3rd 方库)

我注意到这件事的网站没有使用 JS/multiple request 来实现这一点。这都是纯粹的服务器端。

标签: phpnode.jsimageserverstreaming

解决方案


首先,您可以使用 PHP 的 image magick ,

$im = new imagick();
$im->setResolution(200,200);
$im->readImage('path to the image');
$im->writeImage('path to store the new image with name of image and extension'); 
$im->clear(); 
$im->destroy();

您需要在读取图像之前设置分辨率。然后根据您的用例重复该脚本。

希望对你有所帮助。


推荐阅读