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),而后两步不是必须的.而且 ...
随机推荐
- 如果笔记本的 WIN7 运行很卡,请尝试运行这些批处理
如果笔记本的 WIN7 运行很卡,请尝试运行这些批处理 WIN7是不是很卡?关掉下列服务吧 @echo off rem AppXSvc 为部署应用商店应用程序提供基础结构支持 rem BITS 微软的 ...
- [LuoguP4892]GodFly的寻宝之旅 状压DP
链接 基础状压DP,预处理出sum,按照题意模拟即可 复杂度 \(O(n^22^n)\) #include<bits/stdc++.h> #define REP(i,a,b) for(in ...
- 5.使用SOAP的XML消息传递
转自:https://blog.csdn.net/u014066037/article/details/51724658 使用SOAP的XML消息传递的简易流程图: 详细步骤如下: (1)服务请求者的 ...
- Sql延时
IF EXISTS(SELECT * FROM sys.procedures WHERE name='usp_wait30s')BEGIN DROP PROC usp_wait30sENDgocrea ...
- Android线程间通讯的几种方式
1.runOnUiThread(Runnable) 在子线程中直接使用该方法,可以更新UI runOnUiThread(new Runnable(){//更新UI ...
- Spring源码分析专题 —— IOC容器启动过程(上篇)
声明 1.建议先阅读<Spring源码分析专题 -- 阅读指引> 2.强烈建议阅读过程中要参照调用过程图,每篇都有其对应的调用过程图 3.写文不易,转载请标明出处 前言 关于 IOC 容器 ...
- JAVA MessageDigest(MD5加密等)
转自http://blog.csdn.net/hudashi/article/details/8394158 一.概述 java.security.MessageDigest类用于为应用程序提供信息摘 ...
- PYTHON学习第四天课后总结:
第三天学习课后总结: 今日重点: 流程控制 1,if 条件判断语句 2,while 循环 3,for 循环 一,if +条件判断语句: 1> if+条件判断表达式: 子代码1 子代码2 子代 ...
- java位运算应用
位移动运算符: <<表示左移, 左移一位表示原来的值乘2. 比如:3 <<2(3为int型) 1)把3转换为二进制数字0000 0000 0000 0000 0000 000 ...
- setInterval()第一个参数带引号和不带引号的区别
setInterval()第一个参数带引号和不带引号的区别:关于定时函数setInterval()的基本用法这里就不做介绍了,查阅相关教程即可,这里主要介绍一下setInterval()函数的第一个参 ...