wPaint在线绘图插件
wPaint在线绘图插件
一、总结
一句话总结:
1、搜画图插件的时候关键词应该搜什么?
jquery画图插件
js画图插件
jquery绘图插件
这些
二、在线绘图插件--wPaint 的实际应用
wPaint 网址: http://wpaint.websanova.com/#websanova

在实际应用中, 这是一个不错的在线实时绘图jQuery插件.
最重要的一个功能是 支持将绘的图进行保存.
一个实现的demo(JAVA).
1. 在HTML页面上定义一个wPaint的容器.
<div id="wPaint"></div>
最好对容器设置样式.
#wPaint {
position: relative;
width: 680px;
height: 600px;
background: #CACACA;
border: solid black 1px;
margin-bottom: 10px;
margin-top: 10px;
margin-left: 5px;
float: left;
}
引入JS,CSS.
<!-- wColorPicker -->
<link rel="Stylesheet" type="text/css" href="/js/jquery/wPaint/inc/wColorPicker.css"/>
<script type="text/javascript" src="/js/jquery/wPaint/inc/wColorPicker.js"></script>
<!-- wPaint -->
<link rel="Stylesheet" type="text/css" href="/js/jquery/wPaint/wPaint.css"/>
<script type="text/javascript" src="/js/jquery/wPaint/wPaint.js"></script>
2. 初始化wPaint.JS代码
$('#wPaint').wPaint({
fillStyle: "#ffffff",
image:"${dataDto.base64Image}",
strokeStyle: "#333333"
});
黑色部分
${dataDto.base64Image}
是绘图容器的背景图片数据(png格式), base64格式的图片数据.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAGQCAYAAABY...
如果不需要背景,则不需要设置.
在JAVA中,我们可以使用 BASE64Encoder类来转化.
public static String imageToBase64(byte[] imageBytes) {
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(imageBytes);
}
3. 在绘制图片完成后, 需要保存绘制的图片.
3.1 获取wPaint的image属性值可获取base64格式的图片数据
var imageData = $("#wPaint").wPaint("image");
3.2 在JAVA后台可使用BASE64Decoder 类将base64数据转化为byte数组.
public static byte[] base64ToBytes(String bast64Str) {
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] bytes = decoder.decodeBuffer(bast64Str);
//调整异常数据
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {
bytes[i] += 256;
}
}
return bytes;
} catch (IOException e) {
throw new IllegalStateException("Convert base64 data error", e);
}
}
OK. 至此结束.
wPaint在线绘图插件的更多相关文章
- js组件在线编辑器插件、图表库插件、文件树插件
在线编辑器插件: 一.kindeditor 二.UEditor 图表库插件: 一.echart 二.highchart 文件树插件: 一.zTree -- jQuery 树插件 http://www. ...
- jqPlot,一个 jQuery这个 JavaScript 框架的绘图插件
因为项目中需要做报表的功能,于是学习了如何使用jqplot这个绘图插件 结合ajax技术,动态交互后台数据 前前后后花了三四天的时间. 感觉它会出来的想说还可以. 我的后台模板是bootstrap,在 ...
- 【JEECG技术文档】JEECG在线聊天插件功能集成文档
原文地址:http://jeecg.iteye.com/blog/2320670 JEECG在线聊天插件功能集成文档 前提: 采用jeecg_3.6.3版本以上(Maven工程) 插件项目: 在线聊天 ...
- MyEclipse 10 下在线安装插件
昨天不知道怎么就删除了电脑中的eclipse 我x,还原不回来了. 今天就安装了最新版本的myeclipse10,大家都知道,MyEclipse 中有一个烦人的 Software and Worksp ...
- MyEclipse显示 Install new software 在线安装插件选项
转自:https://blog.csdn.net/greatpresident/article/details/8950869 昨天不知道怎么就删除了电脑中的eclipse 我x,还原不回来了. 今天 ...
- nopcommerce 3.6网银在线支付插件(源码)
网银在线支付插件,下载后通过后台插件管理安装.配置即可使用. 下载:网银在线支付插件3.1.3.6版.rar (106.3KB) 源代码放在\Plugins目录下,用vs打开重新生成. 源地址:htt ...
- 为VLC增加在线字幕插件VLSub
VLC的在在线字幕插件VLSub,官网:https://github.com/exebetche/vlsub. 原理是通过搜索全球最大的字幕网站https://www.opensubtitles.or ...
- 【eclipse插件开发实战】 Eclipse插件开发6——eclipse在线翻译插件Translator开发实例详解
Eclipse插件开发6--eclipse在线翻译插件Translator开发实例详解 在上一篇文章中讲到了一个简单的eclipse插件开发实例,主要是对插件工程的基本创建步骤进行了讲解,这篇文章当中 ...
- jquery插件课程2 放大镜、多文件上传和在线编辑器插件如何使用
jquery插件课程2 放大镜.多文件上传和在线编辑器插件如何使用 一.总结 一句话总结:插件使用真的还是比较简单的,引包,初始化,配置参数(json),配置数据(json),而后两步不是必须的.而且 ...
随机推荐
- Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)
无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...
- Docker 内程序时间设置,很重要
原文:Docker 内程序时间设置,很重要 重要!!!!! 创建容器时候需要修改一个参数,设置tomcat的时区 -e TZ="Asia/Shanghai" -v /etc/loc ...
- Android学习笔记之ViewFlipper
<1>被添加到ViewFlipper中的两个或两个以上的视图之间将执行一个简单的ViewAnimator动画.一次仅能显示一个子视图.如果需要,可以设置间隔时间使子视图像幻灯片一样自动显示 ...
- ES5比较Jquery中的each与map 方法?
1.each es5: var arr = [1, 5, 7, 8, 9];var arr1 = []; arr.forEach(function (v, i) { arr1.push(v * 4) ...
- 【例题 7-6 UVA - 140】Bandwidth
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 暴力做就好. O(8!*26^2) [代码] /* 1.Shoud it use long long ? 2.Have you ev ...
- Intent传递对象的几种方式
原创文章.转载请注明 http://blog.csdn.net/leejizhou/article/details/51105060 李济洲的博客 Intent的使用方法相信你已经比較熟悉了,Inte ...
- 【部分原创】python实现视频内的face swap(换脸)
1.准备工作,按博主的环境为准 Python 3.5 Opencv 3 Tensorflow 1.3.1 Keras 2 cudnn和CUDA,如果你的GPU足够厉害并且支持的话,可以选择安装 那就先 ...
- android图片文件的路径地址与Uri的相互转换
一个android文件的Uri地址一般如下: content://media/external/images/media/62026 这是一张图片的Uri,那么我们如何根据这个Uri获得其在文件系统中 ...
- GCJ 2008 Round 1A Minimum Scalar Product
https://code.google.com/codejam/contest/32016/dashboard 题目大意: GCJ(google code jam)上的水题.下周二有比赛,来熟悉熟悉. ...
- python3 随机生成6位数的验证码
python3 随机生成6位数的验证码 要求是数字:0~9 及大小写字母. #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung ...