问题标签 [paintbox]

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 投票
1 回答
559 浏览

android - Delphi FMX And​​roid FillText 速度慢且资源密集

我正在用 PaintBox 绘制一个(大)布尔表(大网格图案中的二进制 0,1 值)。如下面的代码所示。注意:代码是简化的,只画了随机的0和1,来表示问题。我还用完整的代码更新了这个问题,因为评论者说最初的问题很模糊。

利用 FillText 来绘制(数百)个单独的二进制(0 或 1)值,结果是慢!此外,当在 PaintBox 上进行大量平移时,应用程序会冻结,并在 Android 设备上强制关闭。

很明显,对于这种情况, FillText 是不够的,并且想知道是否有人知道更好的技术?

0 投票
1 回答
213 浏览

delphi - 如何根据服务器端绘制的区域在远程屏幕(客户端)上的两个表单中制作相同的孔?

我有以下代码,并希望根据在服务器端绘制的区域在远程屏幕(客户端)上的两个表单中绘制相同的孔。

我在双方(服务器和客户端)都有相同的表单( Form3 ),它是一个“镜子”,我正在绘制一个必须保持在客户端相同表单内的区域。

服务器端的Form3有最大值的50% ,这是看到Form3AlphaBlend后面的远程屏幕所必需的。


首先,我想说我正在接收服务器端的远程屏幕,并且鼠标点击位置按预期工作

那么这是我的麻烦:

在此处输入图像描述

以下代码产生上图所示的结果。我认为这段代码是正确的,但缺少将这个孔与Form3对齐。

有人可以帮忙吗?抱歉,如果这是一个不好的问题,但这是我所有的实际麻烦,我试图用我能做到的更好的方式表达这个问题。

这是所有相关代码:

服务器端:

Form2(我看到远程屏幕):

表格2 .DFM :

Form3(客户端也是一样的“镜像”Form),这个Form是按照远程屏幕分辨率集中的:

表格3 .DFM :

客户端:

Form2(“储物柜”表格):

Form3(与服务器端相同):

在客户端接收区域:

0 投票
1 回答
271 浏览

delphi - 如何使用“Form2”中存在的 PaintBox 的坐标在“Form3”中绘制矩形/孔?

我有一个“ Form2 ”,它有一个ScrollBox和一个PaintBox.

还存在另一个名为“ Form3 ”(也有PaintBox内部)的表单,它的父ScrollBox级为“Form2” 。然后我需要根据坐标在“Form3”上绘制一个矩形=>Form2.PaintBox

这个有可能?

提前感谢任何建议/帮助。


在此处输入图像描述

表格1

表格2

表格 3

表格2 .DFM :

表格3 .DFM :


版:

这个问题基本上是我上一个问题的延续

0 投票
1 回答
137 浏览

delphi - 关于绘制图形数据的最佳实践

希望这很清楚...

我想知道 PaintBox 控件是否可以允许用户从左到右滚动数据?想象一下它就像一个示波器显示器,其中一次捕获允许缩放和滚动。在这种情况下,我不需要缩放。所以,我的 Paintbox 是 800x600,我的数据集是 16000x600。

我可以在 800x600 区域中绘制,如下所示,完全没有问题,并且可以应用缩放来获取所有数据,但我希望将 Y 轴缩放为 1 并能够向左/向右滚动/拖动查看数据。

那么,我的paintbox.canvas 是否需要大小为 16000x600,并在顶部大小为 800x600 上方有一个“窗口”,并且画框控件可以在垂直和水平约束下拖动?

0 投票
2 回答
552 浏览

firemonkey - Delphi Paintbox Paint 方法不更新图像画布[FMX]

我正在工作跨平台 vnc 项目。Windows 端可以使用 VCL。但是当我使用具有相同代码的 FMX 平台时,我遇到了问题。

对于来自远程计算机的每个新图像数据包,此代码都会更新到 Paintbox Canvas。这在 VCL 上工作没问题。但是当我在 FMX 图像重绘上执行这个项目时不起作用。它只是获取第一张图像并且不会更新。

客户代码:

如果我使用计时器paintbox正在为每个图像包更新

我必须使用 Timer 在我的代码上重新绘制,但我不想要这个并且工作不稳定。

***注意:当我调整 ScreenView 表单的大小时,Paint 框正在更新。为什么?

你有什么主意吗?

示例捕获

https://gyazo.com/f880c2f172b0106122ea711389bf1659