在我的项目中,我正在尝试创造一种环境照明感觉。我通过客户端编码处理图像,我需要调整几个图像的亮度。我知道像Pixastic这样的库,但是我想要一个直接应用于HTML代码(如标签)而不是JS中的Image对象的解决方案。有没有基于Javascript或CSS的方法呢?
答案 0 :(得分:8)
您可以尝试使用CSS不透明度来查看是否符合您的需求。
img {
opacity: 0.8; /* good browsers */
filter: alpha(opacity=80); /* ye 'old IE */
}
答案 1 :(得分:1)
正如Blender建议的那样,<canvas>
标签是您想要的伽马操作,这是一种非线性的每像素转换。
答案 2 :(得分:1)
这是一个HTML5。
检查一个亮度调整。
https://www.html5rocks.com/en/tutorials/canvas/imagefilters/
Filters.brightness = function(pixels, adjustment) {
var d = pixels.data;
for (var i=0; i<d.length; i+=4) {
d[i] += adjustment;
d[i+1] += adjustment;
d[i+2] += adjustment;
}
return pixels;
};
答案 3 :(得分:1)
首先,如果Pixastic可以处理new Image
的结果,它也可以处理文档中的<img>
元素。
除此以外的其他选项基本上是画布图像数据操作(在IE8或更旧版本中不起作用)和SVG过滤器(在IE8或更旧版本中不起作用,并且不能直接在HTML元素上工作,除了壁虎)。