问题标签 [canvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
24774 浏览

delphi - 如何在 TPanel 上绘图

我需要在 TPanel 上绘制,理想情况下是直接绘制,这样我就没有其他组件在它上面妨碍 mousevent 事件捕获(我想在它上面画一点“大小抓地力​​”)。我该怎么做呢?

0 投票
1 回答
767 浏览

ajax - 是否可以使用 <canvas> 合并差异图像

我正在开发一个类似于 VNC 的基于 AJAX 的应用程序。我能够重现从浏览器到远程机器的键盘和鼠标交互。但是当涉及到显示部分时..我依靠页面刷新来重新捕获最新捕获的桌面图像。

我想通过使用 AJAX 请求从服务器获取当前图像捕获的增量和先前渲染的图像来改进显示方面.. 并尝试使用 <canvas> 合并在 JAVA 脚本中接收到的增量内容以重建显示。如果能够这样做,我的应用程序将非常有用。

如果专家能评论该方法的可行性和实用性,我将不胜感激。

问候,

段落

0 投票
1 回答
562 浏览

silverlight - 如何使用 Silverlight2 ItemsControl 在画布上定位项目集合?

在 WPF 中,您可以创建一个带有 Canvas 作为 ItemsPanel 的 ListBox,并在该画布上放置项目。执行此操作的代码如下所示:

你能在 Silverlight2 ListBox 或者最好是 ItemsControl 中做同样的事情吗?

0 投票
1 回答
957 浏览

javascript - 有没有办法通过 Javascript 操作 Processing.js 生成的代码?

解析Processing.js代码后,我想调用一些函数或更改一些变量。目前唯一的方法是操作源代码,然后将源重新加载到处理中。

0 投票
1 回答
2442 浏览

c# - WPF - Canvas.GetTop 返回 NeuN

我试图从鼠标移动处理程序中获取画布的位置,但它返回 NeuN。

画布在另一个画布内,代码是:

这是里面:

我会说这不是范围问题,因为 SetTop 工作正常。

有任何想法吗?提前致谢 :)

0 投票
2 回答
1426 浏览

javascript - 从 Javascript 画布中获取点的未翻译、未旋转 (x,y) 坐标

在 Javascript 中,我们经常在发送东西之前通过旋转和平移坐标平面来渲染图形

因此,完成此操作后,我如何计算出我绘制的线段端点的实际值?因为在平移和旋转之后, (x1,y1) 和 (x2,y2) 距离没有平移和旋转的位置很远。有没有一种简单的方法可以找出它们的实际值是多少?

0 投票
1 回答
2951 浏览

.net - WPF:如何在画布中安装拇指行为?

我想要一个支持 DragDelta 事件的画布。我对如何做到这一点的第一个想法是制作一个包含拇指的 ControlTemplate。但我不知道如何正确地做到这一点。如何更改下面的 XAML 以使其编译,以及安装 DragDelta 事件处理程序的正确方法是什么?

0 投票
3 回答
5159 浏览

javascript - 有没有人让 processing.js 在 IE 中工作?

我正在寻找通过ExplorerCanvas或类似工具在 Internet Explorer 中工作的processing.js示例。

0 投票
5 回答
8549 浏览

apache-flex - Flex 画布和鼠标事件

这个简单的代码在红色画布上显示了一个绿色画布,我希望绿色画布让鼠标按下事件被他身后的孩子抓住:红色画布。

我怎样才能做到这一点 ?

0 投票
0 回答
6218 浏览

wpf - WPF 虚拟化画布

我们在 Canvas 中生成了一系列矩形,它们在 XAML 中以 ScrollView>Canvas>VirtualizingStackPanel>Rectangles 的顺序嵌套。

微软似乎很少有关于在什么情况下支持虚拟化的 senarios 信息,并且在不是没有抛出错误的情况下,它只是将其视为标准 StackPanel。

鉴于我们的视图在任何时候在屏幕上大约有 60 个矩形,而整个画布上总共有大约 800 个矩形,所以大约 5 分钟的加载时间慢得让人无法接受。

我们已经尝试删除 ScrollView 无效(除了删除滚动条性能没有提高),并删除一些其他嵌套元素,最终效果似乎是什么都不显示,或者它显示但仍然减缓。

到目前为止,我找到的最好的解决方案是一段免费的软件代码 VirtualizedCanvas,但它非常有限,不支持嵌套在其中的任何内容,实际上它需要的唯一输入是 UI 元素的集合。

该解决方案基本上忽略了数据绑定,并要求您将完成的 Canvas 传回给它,这会使我们所有现有的代码和转换器变得毫无用处,并且将是重大的返工来实现。

有没有办法简单地剪辑 Virtualize the Canvas 只在屏幕上绘制 60 个项目?