杜郎俊赏 - dujun.io

新增亲子日记封面保护

新增亲子日记封面保护机制:可信设备展示缩略图,陌生设备展示模糊图。可信设备(Cookie标记)包含博主(我本人)、知道日记口令的(我家人)、当前设备发表过评论并被审核通过的。图片表现如下:

左侧可信设备缩略图,右侧陌生设备模糊图


老婆跟我抱怨过很多次,首页展示宝宝照片封面有隐私风险,这次解决了这个问题。最初就想到用图片模糊来处理,但碍于影响浏览体验没有下决心。现在想通了,除了我和家人,并没有人会在乎宝宝每天的成长照片。

因为前面已经做了权限验证,所以加一道拦截非常容易。实际开发这个功能的时间花在纠结用哪种模糊效果上,我筛选后的方案分别是Low Poly、毛玻璃和油画。

原图

Low Poly

毛玻璃

油画

Low Poly 是我最感兴趣的方案,用了最长的时间来研究和测试。但经过反复验证,应用在小尺寸的封面图上效果很糟糕,将单元调大就毫无细节,调小就有锯齿感,无奈放弃。而毛玻璃效果有令人不适的粗糙感,也淘汰了。最后我选定的方案是油画效果,画面足够模糊,同时细节又足够丰富。

命令行生成油画效果:

convert input.jpg -blur 0x3 -paint 3 output.jpg

PHP Imagick 生成油画效果:

$imagick = new Imagick($imagePath);

//高斯模糊
$imagick->blurImage(0, 3);

//油画效果
$imagick->oilPaintImage(3);

$imagick->writeImage($paintImagePath);
$imagick->destroy();

标签: 建站
日期:2024-11-18