大家觉得 web 端修改图片颜色用什么方案合适?

2024-07-08 10:49:54 +08:00
 tutulyy

用户上传图片,需要把里面的颜色替换掉。 用什么好用的解决方案吗?

1681 次点击
所在节点    程序员
8 条回复
weixind
2024-07-08 11:07:24 +08:00
从程序员的角度讲,没理解你的需求,请重新组织一下。谢谢。
CHTuring
2024-07-08 11:14:49 +08:00
从技术的角度来讲,需要先把主题抠出来,然后用 canvas 画布重新叠加。
FaiChou
2024-07-08 11:38:07 +08:00
不确定你的需求,最简单的 css filter
JFe2McRV85Ea9ao2
2024-07-08 12:33:12 +08:00
画到画布(canvas)上, 然后遍历判断 rgb 修改, 速度挺快的
tutulyy
2024-07-08 15:34:34 +08:00
banyasmya23
2024-07-09 10:19:36 +08:00
黑白滤镜
a876691666
2024-07-09 10:46:05 +08:00
正好做过这个需求,技术原理上 rgb 转 hsv ,然后根据起点颜色到终点颜色的插值旋转对应的 hue, 得到新的 hsv 再转换回 rgb 。单一颜色没问题,但多个起点颜色对应多个终点颜色在颜色过渡的地方会有明显分界线。
单图固定参数可以考虑 canvas, 多图实时交互最好用 webgl 写着色器实现。
tutulyy
2024-07-10 09:22:10 +08:00
@a876691666 实际使用碰到的问题是。针对图片中的文字这类情况,文字边缘会有一定的锯齿,目前不知道如何解决。你这边的这个方案好像也不可行,因为无法确定终点颜色。
场景举例:需要把文字背后的背景图颜色替换掉,文字和背景图可能都是各种颜色。背景图是单一颜色,但是和文字的边缘处是有渐变色的。你可以网页上随便截个图放大后观察。

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

https://ex.noerr.eu.org/t/1055570

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

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

© 2021 V2EX