如何在Photoshop中编辑Javascript画布中每种颜色的HSL颜色?

时间:2016-04-19 11:43:55

标签: javascript image-processing canvas

我想通过Javascript编辑图像的HSL,而不是整体(虽然它会有所帮助)但是对于每一组颜色(蓝调,黄色......),就像在Photoshop中一样。

  • 我必须使用哪种数据结构?
  • 映射此颜色的公式是什么?
  • 是否有任何有用的图书馆?

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用混合模式和像素迭代的组合来完成此操作:

  • 提取位图并迭代每个像素
  • 对于每个像素,确定它是否在HSL色轮上的某个范围内(即“蓝色”)。您还需要使用可变宽度,即边缘强度低于中心。删除不在范围内的像素。
  • 将位图放回到带有结果位图的新画布
  • 使用填充样式设置为目标HSL值(您可以直接使用填充样式的HSL,即“ctx.fillStyle = "hsl(180,100%,50%)"”)并使用合成模式“destination-over”填充整个画布,这将改变整体颜色
  • 将主画布上的混合模式更改为“颜色”,并将提取的像素画布绘制在顶部。