是否有一个Javascript库,它具有内置功能,可以使用canvas元素快速创建类似Paint的Web应用程序?
编辑:所以,到目前为止,我已经找到了允许简单动画画布元素的Javascript库 - 例如Raphael JS - 和用于创建简单的Paint应用程序的Javascript教程,但没有用于类似Paint的应用程序的强大库.
编辑2:我使用canvas元素在一个漂亮的Paint应用程序上找到了一个Javascript教程.我还是想看看其他人发现了什么.
我在页面上创建了4个甜甜圈图,该页面的中心有一些文本,我知道可以通过在中心放置DIV来完成,但是我不能使用它,因为在将图表下载为PNG时不会导出文本:
演示:https : //jsfiddle.net/cmyker/ooxdL2vj/
为此,我需要跟踪我使用pageX,pageY来确定是否在中间部分进行点击的中心文本的点击。
坐标是在甜甜圈图的中心孔内的矩形部分的角,并且可能包含文本。
jQuery('#canvas').on('click',function(e){
var pageX = e.pageX;
var pageY = e.pageY;
if((pageY >= 379 && pageY <= 571) && (pageX >= 440 && pageX <= 629)){ //coordinates are of rectangular area which has text inside the center of doughnut chart.
//do something
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果屏幕的分辨率不同(坐标会变化),则此方法将无效。
有任何想法吗?
我尝试使用raphael.js使中心可点击,但是对此尝试不太确定。我正在尝试使用该container
方法在甜甜圈的中心孔中创建一个圆形,可以在其上附加单击处理程序。
使用Raphael JS的代码信息
Chart.pluginService.register({
beforeDraw: function(chart) {
if(chart['data']['midNum']){
var width = chart.chart.width,
height = chart.chart.height,
ctx = chart.chart.ctx;
ctx.restore();
var fontSize = (height …
Run Code Online (Sandbox Code Playgroud) 我想用帆布做一个小桌面游戏,让自己熟悉javascript和画布.我可以很好地绘制电路板,但现在我想让特定的元素响应鼠标事件.我可以这样做吗?或者我是否需要为每个要绘制的板元素使用画布元素,并在每个元素上注册一个鼠标事件?
或者,更有可能的是,我绝对迷失在javascript中?
Som背景:我是一名系统开发人员,在了解了flex和flash之后,我决定尝试一些javascript.所以不要拉扯任何拳!