我取了一张图片,对其进行了一些处理,使其成为深蓝色色调,并将其设置为页面主体中的背景图像。这里的代码完全按照预期工作:
$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()
的第二个参数),并在必要时更新。
关于如何做到这一点的更详细的建议(通常检查原始图像的"最后修改"时间是正确的方法;有时,手动触发它就足够了,你必须提供更多的上下文,关于你在做什么和你的图像来自哪里。