chobi是一款轻量级的客户端处理图片javascript插件。该图片处理插件使用过滤器算法来处理图片,为图片设置不同的亮度、对比度和饱和度。它使用Canvas来重绘图片,可以下载处理后的图片。它支持的图片效果有:
- 黑白照效果
- sepia
- 负冲效果
- 旧照片效果
- cross process
- 亮度增加
- 亮度减少
- 对比度增加
- 对比度减少
- 添加杂点
- 版画效果
- 装饰图效果
- 蜡笔画效果
使用方法
在页面中引入Chobi.min.js文件。
<script src="path/to/Chobi.min.js"></script>
创建Chobi对象
Chobi对象的构造函数有4种类型的参数:
- 图片的类型:
var imgObj = new Chobi(document.getElementById("image-file");
- 图片的路径:
var imgObj = new Chobi("myimage.jpg");
- 图片对象:
imgObj = new Chobi(new Image(...));
- IMG元素:
var imgObj = new Chobi(document.getElementById('myimg');
你可以任选一帧来构造Chobi对象。
然后使用<canvas>
来放置你的图像。
<canvas width="800" height="500" id="canvas"></canvas>
使用下面的方法将图片转换为canvas。
imgObj.ready(function(){ this.loadImageToCanvas(document.getElementById("canvas")); }
为图像设置效果:
// Black And White imgObj.blackAndWhite() // Sepia imgObj.sepia() // Negative imgObj.negative() // Vintage imgObj.vintage() // Cross ProcessimgObj.crossProcess() // Brightness imgObj.brightness(amount) // Contrast imgObj.contrast(amount) // Noise effect imgObj.noise() // Crayon effect imgObj.crayon() // Cartoonify imgObj.cartoon() // Vignette imgObj.vignette(amount) // Filter chaining imgObj.brightness(-5).sepia().negative()
API
chobi图片处理插件的可用API有:
// 剪裁图片 imgObj.crop(xCord,yCord,width,height) // 获取图像对象 imgObj.getImage() // 获取图片的数据,如图片的宽度,高度和像素信息 imgObj.extractImageData() // 下载图片 imgObj.download(filename,filetype) // 获取图片x,y坐标上的r,g,b,a值 imgObj.getColorAt(x,y) // 使用colorObj来设置图片x,y坐标的颜色。 // colorObj格式如下:{red: redValue, green: greenValue, blue: blueValue, alpha: alphaValue} imgObj.setColorAt(x,y,colorObj) // 获取图片的宽度 imgObj.imageData.width // 获取图片的高度 imgObj.imageData.height
chobi图片处理插件插件的github地址为:https://github.com/jayankaghosh/chobi