PHP处理图像并在页面加载时首先显示它

PHP处理图像并在页面加载时首先显示它,php,image,Php,Image,我正在拍摄一幅图像,对其进行一些处理,使其成为深蓝色色调,并将其设置为页面正文中的背景图像。此处的代码完全按照预期工作: $image = imagecreatefromjpeg($backimage); imagefilter($image, IMG_FILTER_GRAYSCALE); imagefilter($image, IMG_FILTER_CONTRAST,40); imagefilter($image, IMG_FILTER_BRIGHTNESS,-80); imagef

我正在拍摄一幅图像,对其进行一些处理,使其成为深蓝色色调,并将其设置为页面正文中的背景图像。此处的代码完全按照预期工作:

 $image = imagecreatefromjpeg($backimage);
 imagefilter($image, IMG_FILTER_GRAYSCALE);
 imagefilter($image, IMG_FILTER_CONTRAST,40);
 imagefilter($image, IMG_FILTER_BRIGHTNESS,-80);
 imagefilter($image, IMG_FILTER_COLORIZE, 10, 0, 40);  //112, 66, 20);
问题是,它需要一些时间来处理,因此整个页面显示时没有背景,然后在短暂延迟后,背景图像出现(至少在firefox中),因此看起来有点奇怪。实际上,我更喜欢先加载,或者等到处理完成后再显示整个内容。有什么建议吗?谢谢

问题是,这需要一些时间来处理

使用缓存。您不希望每次请求图像时都对其运行这些效果。将结果存储在静态JPG文件中(使用
imagejpeg()
的第二个参数),并在必要时进行更新

有关如何执行此操作的更详细建议(通常检查原始图像的“上次修改”时间是正确的方法;有时,手动触发它就足够了),您必须提供有关您正在执行的操作以及图像来源的更多上下文

问题是,这需要一些时间来处理

使用缓存。您不希望每次请求图像时都对其运行这些效果。将结果存储在静态JPG文件中(使用
imagejpeg()
的第二个参数),并在必要时进行更新


有关如何执行此操作的更详细建议(通常检查原始图像的“上次修改”时间是正确的方法;有时,手动触发它就足够了),您必须提供有关您正在执行的操作以及图像来源的更多上下文。

完全按照预期工作,但看起来很奇怪?似乎有点矛盾。在生成该图像时,您正在执行一些相当昂贵的步骤,并且可能希望研究缓存结果,因此您不会在每次加载页面时都重新生成该图像。工作原理与预期完全相同,但看起来很奇怪?似乎有点矛盾。在生成该图像时,您正在执行一些相当昂贵的步骤,并且可能希望研究缓存结果,因此您不会在每次加载页面时都重新生成该图像。