HTML5 利用JavaScript 实现图像基本操作
来源:互联网 发布:虫虫软件 编辑:程序博客网 时间:2024/05/23 00:10
前言
近期利用业余时间,我用JavaScript实现了一下HTML5网页端的图像处理基本操作,其实,主要是用jimp 这个JavaScript库。
代码
本文,主要实现了图像的放大、缩小、旋转和亮度调节功能。具体实现代码,如下所示。
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>Jimp browser example 1</title> </head> <body> <div style="text-align:center;"> <img src="https://upload.wikimedia.org/wikipedia/commons/0/01/Bot-Test.jpg" id="myImage" /> <br /> <button onclick="getSrcImg()">原图</button> <button onclick="zoomInImg()">放大</button> <button onclick="zoomOutImg()">缩小</button> <button onclick="rotateImgClockwise()">顺时针旋转</button> <button onclick="rotateImgAntiClock()">逆时针旋转</button> 亮度调节因子: <input id="Bfactor" type="number" name="bdv" mix="-1" max="1" value=0.2 /> <button onclick="brightenImg()">亮度调节</button> </div> <script src="./lib/jimp.min.js" type="text/javascript"></script> <script type="text/javascript"> var myImage = document.getElementById("myImage"); function getSrcImg() { var mySrc = "https://upload.wikimedia.org/wikipedia/commons/0/01/Bot-Test.jpg"; myImage.setAttribute("src", mySrc); } function zoomInImg() { var scale = 1.2; var width = myImage.width * scale; var height = myImage.height * scale; Jimp.read(myImage.src, function (err, image) { image.resize(width, height, Jimp.RESIZE_BILINEAR) .getBase64(Jimp.MIME_JPEG, function (err, src) { myImage.setAttribute("src", src); }); }).catch(function (err) { console.error(err); }); } function zoomOutImg() { var scale = 0.8; var width = myImage.width * scale; var height = myImage.height * scale; Jimp.read(myImage.src, function (err, image) { image.resize(width, height, Jimp.RESIZE_NEAREST_NEIGHBOR) .getBase64(Jimp.MIME_JPEG, function (err, src) { myImage.setAttribute("src", src); }); }).catch(function (err) { console.error(err); }); } function rotateImgClockwise() { var degree = 90; Jimp.read(myImage.src, function (err, image) { image.rotate(degree, false) .getBase64(Jimp.MIME_JPEG, function (err, src) { myImage.setAttribute("src", src); }); }).catch(function (err) { console.error(err); }); } function rotateImgAntiClock() { var degree = -90; Jimp.read(myImage.src, function (err, image) { image.rotate(degree, false) .getBase64(Jimp.MIME_JPEG, function (err, src) { myImage.setAttribute("src", src); }); }).catch(function (err) { console.error(err); }); } function brightenImg() { var bfactor = document.getElementById("Bfactor"); var factor = parseFloat(bfactor.value); if (isNaN(factor)) { alert("亮度调节因子输入值为空!"); } else { if (factor < -1 || factor > 1) { alert("亮度调节因子输入值范围为-1到1的小数!"); } else { Jimp.read(myImage.src, function (err, image) { image.brightness(factor) // -1 ~ +1 .getBase64(Jimp.MIME_JPEG, function (err, src) { myImage.setAttribute("src", src); }); }).catch(function (err) { console.error(err); }); } } } </script> </body></html>
结果
- 初始化
- 原图->放大
- 原图->缩小
- 原图->顺时针旋转
- 原图->逆时针旋转
- 原图->亮度调节变暗
- 原图->亮度调节变亮
jimp
jimp.min.js 按照jimp的README进行编译获取。
0 0
- HTML5 利用JavaScript 实现图像基本操作
- javascript实现基本排序操作
- 利用opencv实现图像滑动窗口操作
- 利用HTML5的canvas标签实现灰太狼图像的绘制
- Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。
- HTML5图像操作
- HTML5 学习(二 CANVAS 的基本操作 【JavaScript绘制】)
- opencv基本图像操作
- 图像的基本操作
- python基本图像操作
- opencv图像基本操作
- GDI图像基本操作
- 【pytorch】图像基本操作
- 基本图像操作
- 【基本图像操作】PIL
- 【基本图像操作】Matplotlib
- 【基本图像操作】NumPy
- opencv-图像基本操作
- 黑马Android76期从入门到就业班视频教程下载
- FastDFS之——FastDFS 分布式文件系统的安装与使用(单节点)
- TCP-IP详解之TCP的交互数据流2
- 解决无限嵌套文件夹无法删除的问题[WIN10]
- 算法-排序(C#)
- HTML5 利用JavaScript 实现图像基本操作
- printf的扩展
- 僵尸进程和孤儿进程
- easyui-(三)table
- 绝对定位和相对定位
- 【bzoj2144】跳跳棋
- 树上dp 完美的服务(py)(Perfect Service)(UVa 1218)题解
- (9)关卡编辑器之视口工具条
- 效果出来了,但是控制台报bug