jjzjj

javascript - 如何使用 HTML5 Canvas 而不是 Debug Draw 来绘制我的 Box2D 世界?

我非常了解HTML5Canvas,我了解使用循环等的基础知识和动画。我正在使用的演示:(单击以制作形状)http://henry.brown.name/experiments/box2d/example-canvas.html我不太熟悉的是Box2D。我正在使用Box2DWeb端口,听说它比Box2D-js更新,我不确定哪个最好。我知道如何初始化“世界”并且我可以在世界中放置对象。然后,我使用Step为世界设置动画-但是到目前为止,为了在屏幕上显示它,我只能使用debugdraw来让它工作,因为它基本上会为你做所有事情。我不想使用调试绘图,而是使用Canvas来绘制,例如一辆汽车,而不

javascript - 在 Leaflet L.Draw 插件中以编程方式添加多边形

有没有办法使用Leaflet绘图插件以编程方式添加多边形?https://github.com/Leaflet/Leaflet.draw例如:点击一个按钮,添加一个可以被插件编辑的正方形。 最佳答案 您只需要将您的多边形(或您想要编辑的任何其他层)添加到您传递给edit.featureGroup的要素组中L.Control.Draw控件的选项。vareditableLayers=L.featureGroup().addTo(map);vardrawControl=newL.Control.Draw({edit:{featureGro

javascript - 在 Javascript 中绘制图像

我想让用户在浏览器中的图像上绘图。换句话说,我需要位图图形和绘图功能,无论是矢量还是位图。Canvas看起来不错,但IE不支持,虽然有ExCanvas,但我想知道ExCanvas是否足够稳定,可以在IE6到8中一致使用。或者最重要的是,是否有一个开箱即用地支持所有这些的开源图像/绘图库?我找到了两打左右基于Web的图像编辑器或绘图工具,但没有一个支持这些要求。(我想避免使用Flash/Flex/Silverlight/JavaFX。) 最佳答案 看看RaphaelJS...它是绘图功能的跨浏览器实现,在可用的情况下使用Canvas、

javascript - 为什么我需要将 DataView(而不仅仅是 DataTable)传递给 PieChart.draw()?

我搜索了很多,终于能够运行我的谷歌图表代码。这是我同时使用数据View和数据表的代码。//这是我的chartDraw.php代码functiondrawChart(){varjsonData=$.ajax({url:"getdata.php",dataType:"json",async:false}).responseText;//Thisisusedwhenyouhardcodeyourvalues:staticdata.HereIamtakingdatafromdatabasesocommentedit./*varjsonData='{"cols":[{"label":"UserI

javascript - 如何删除 leaflet.draw 中的绘图层?

在使用绘图工具在自定义map上绘制其中一个形状后,使用leaflet.draw.js使用leaflet.js。我有一个弹出的表格,上面写着保存或取消。如果用户按下取消,那么我希望删除绘图。例如,我正在绘制一个矩形。这是我目前的来源map.on('draw:created',function(e){varlayer=e.layer;vartype=e.layerType;$("#add-drawing").fadeIn(500);featureGroup.addLayer(e.layer);//Addsrectangle$("a.cancelD").on("click",function

javascript - 非常简单的 D3 : How to Draw an Arc?

学习D3会很好。看了很多例子,我想我明白了。我的第一个项目是制作一个色轮,为了简单起见没有过渡。但对于我的第一个项目来说,这似乎还不够简单!对于零号项目,我试图在屏幕上显示一些内容。希望我写的东西(并且亲爱的阅读已经修复),而不是一个例子。我做错了什么?http://jsfiddle.net/aGdMX/1/vararc=d3.svg.arc().innerRadius(40).outerRadius(100).startAngle(0).endAngle(1);varchart=d3.select("body").append("svg:svg").attr("class","cha

javascript - leaflet.draw 垃圾按钮删除所有多边形并保存

使用javascript,如何更改leaflet.draw“垃圾桶”按钮以删除所有已绘制的多边形并自动保存。下面是我已经实现的代码,但它是一个完整的hack。它删除了事件多边形,但是在我删除一个对象后,当我单击“垃圾桶”图标时开始在控制台中出现错误,例如NotFoundError:Nodewasnotfound和TypeError:this._deletedLayers为空map.on('draw:editstart',function(e){if(e.handler=='remove'&&typeofdrawnItem!='undefined'&&drawnItem!==null){

javascript + html5 Canvas : drawing instead of dragging/scrolling on mobile devices?

我正在使用html5Canvas+一些javascript(onmousedown/move/up)在网页上创建简单的绘图板。在Opera、Firefox、Chrome等中运行良好(在台式电脑上试用)。但是,如果我使用iPhone访问此页面,当我尝试在Canvas上绘图时,它会拖动或滚动页面。这适用于其他页面内容,通过上下滑动页面,您可以像往常一样在移动浏览器中浏览页面。但是有没有一种方法可以在Canvas上禁用此行为,以便移动访问者也可以在上面实际绘制一些东西?为了您的引用,这里有一个简单的例子:functioninit(){varcanvas=document.getElement

javascript - 如何在不使用 Leaflet.draw UI 的情况下单击按钮并开始新的多边形

我正在纠结的是如何在不使用Leaflet.drawUI的情况下单击按钮并开始一个新的多边形。例如$('#draw_poly').click(function(){});我可以毫无问题地将现有多边形置于编辑模式。$('.edit_polygon').click(function(){varname=$(this).text();geojson_layer.eachLayer(function(layer){if(name==layer.feature.properties.name){layer.editing.enable();}});returnfalse;});感谢JacobToy

javascript - 传单绘制插件 : How to hide/show drawing tools by Layer Type dynamically

我在项目中使用绘图插件,我想知道如何按图层类型隐藏/显示绘图工具?例如,假设我有2个图层,其中一个类型是多边形,另一个是线。如果用户选择多边形层,我想隐藏画线工具。之后,如果用户选择线层,我想隐藏多边形绘图工具。我看过here但是这个例子使工具成为静态的,我想动态地改变。我该怎么做?我们将不胜感激。 最佳答案 我自己解决了。我在map初始化时添加了这个绘制控件。drawControl=newL.Control.Draw({draw:{position:'topleft',polygon:false,polyline:false,re