我正在拍摄图像,对其进行一些处理以使其成为深蓝色调,并将其设置为页面正文中的背景图像。这里的代码完全按预期工作:
$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中),所以它看起来有点奇怪。我实际上更喜欢它首先加载,或者等到处理完成,然后显示整个事情。有什么建议?谢谢!
答案 0 :(得分:1)
问题是,处理需要一些时间
使用缓存。您不希望每次请求时都在图像上运行这些效果。将结果存储在静态JPG文件中(使用imagejpeg()
的第二个参数),并在必要时更新。
有关如何执行此操作的更详细建议(通常检查原始图像的“上次修改”时间是正确的方法;有时,它足以手动触发)您必须提供更多关于您的内容的背景信息正在做你的形象来自哪里。