图片处理(海报生成 and 二维码生成),由前端处理还是后端处理好?

2021-02-08 10:18:55 +08:00
 AquanllR

前端生成慢,后端生成样式难把控。 想看看大佬们的看法和建议

5662 次点击
所在节点    程序员
56 条回复
guoziq09
2021-02-08 10:26:44 +08:00
我个人认为是前端,前端 1v1,后端 1vN 。
bugmakerxs
2021-02-08 10:27:34 +08:00
前端,后端生成过,日常低效接口 top10
Symo
2021-02-08 10:28:00 +08:00
反了吧, 前端生成样式才是比较难把控的. 用 html2canvas 转图片可能会遇到手机兼容性不好导致偏移的情况. 而且基本上没有办法发现.
Orenoid
2021-02-08 10:30:24 +08:00
前端生成可以把计算的压力分散到各个用户的设备上,但是少部分设备可能有兼容性问题,导致生成的图片样式不完全统一
shyling
2021-02-08 10:31:15 +08:00
对海报没啥概念,二维码应该是前端做更好点
leeguo
2021-02-08 10:31:59 +08:00
才做过, 前端 有封装好的, 大小可调, 很方便
Orenoid
2021-02-08 10:33:12 +08:00
@Orenoid #4 除了生成图片的计算负载,后端生成可能还要上传 /下载图片,相对来讲也更费时间,个人倾向于前端生成。
AquanllR
2021-02-08 10:35:54 +08:00
@guoziq09 有道理,服务器生成得 1 对 N,不过后端可以做缓存处理
AquanllR
2021-02-08 10:36:06 +08:00
@bugmakerxs 建议前端吗?
AquanllR
2021-02-08 10:37:20 +08:00
@Orenoid 嗯,现在 2 个方案实现了,后端是要上传 oss,前端展示
imgbed
2021-02-08 10:44:09 +08:00
前端的 canvas 已经很强大了,很多网页游戏都做得来,何况静态海报。写个专门的 js 作为海报生成专用吧
bugmakerxs
2021-02-08 10:46:44 +08:00
@AquanllR 是的
sarices
2021-02-08 10:48:50 +08:00
后端调用 Puppeteer 生成海报,缓存到 cdn
maplerecall
2021-02-08 11:02:24 +08:00
涉及文本的走后端,前端没法统一字体,除非对文字样式和排版要求不高。只是图片加二维码就走纯前端,图片不太多的情况下即使手机处理也非常快了。
vevlins
2021-02-08 11:04:15 +08:00
前端,省省流量和内存吧,都是钱呀
preach
2021-02-08 11:05:08 +08:00
看业务的量,过 10 万 uv 走前端
kisshere
2021-02-08 11:24:47 +08:00
if($is_generated_poster_dynamically)
{
后端走起();
}elseif($daily_pv>100000)
{
前端走起();
}
kisshere
2021-02-08 11:26:30 +08:00
@kisshere #17 第一个打错了,是前端走起
TimPeake
2021-02-08 11:30:41 +08:00
二维码可以前端弄,但是海报真的不好搞。有人说 canvas 已经很强大了 是,没错 ,但是相应的工具包 html2canvas bug 很多,唯一能用的也只有这个吧。
weixiangzhe
2021-02-08 11:49:59 +08:00
前端处理就好啦,全部 canvas 渲染

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX