问题标签 [tcanvas]
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.
delphi - Delphi TCanvas 对象从 dll 使用后损坏,如何恢复?
有问题。我有一个带有画布的表单,我需要通过它的句柄从 dll 访问这个画布。我这样做是这样的:
来自 dll
它工作得很好,我从 dll 中画出我需要的东西。但是这个技巧有副作用。从 dll 绘制后,表单会丢失字体设置(顺便说一句,从 dll 绘制时我没有使用字体,只有几个矩形),当我从主表单在同一画布上绘制时,即使我直接使用 canvas.font.size := .. .; canvas.font.name := ...; 在 canvas.TextOut 之前,字体不会改变。线条,填充和其他绘画都可以。但是字体会损坏(有时不会,但大多数情况下)。
有没有办法重置/重新初始化表单的 TCanvas 对象?
delphi - 在 FMX TCanvas 中设置字体颜色
不确定我是否在这里遗漏了一些东西,但你能在 Firemonkey TCanvas 中设置字体颜色吗?
我在以下属性中看不到任何建议:
任何帮助都会很棒
谢谢,
c++ - 为什么 TCanvas 在根 shell 中执行宏期间不绘制?
假设我有一个包含两个TGraph的宏:T1和T2,并且我有一个画布“ C ”分为两部分:
当这部分被执行时,我的屏幕上出现了 blanc 画布,但它变灰了.. 不活动!但没关系,然后它继续..
该程序有两个不同的部分,在第一部分它完成计算进入画布的前半部分并绘制第一个TGraph:
在这一点上,我希望已经在画布的前半部分看到了图表,但不幸的是什么都没有出现,画布仍然处于非活动状态!程序进入下一部分:
同样的故事还没有出现在画布上,但随后执行完成,我回到了根外壳,如下所示:
现在我可以看到这两张图了!我想要的是已经执行的部分T1->Draw("AP")
应该已经出现在上cd(1)
,然后应该出现在上的图表cd(2)
。有没有办法做到这一点?
delphi - 需要一种方法来计算 tcanvas 中实际绘图项的范围
我正在使用paintbox组件使用矩形、多边形和其他画布方法绘制各种形状。用户创建绘图后,我想保存位图以在列表框中使用。问题是绘图可能只使用画布的一小部分,并且列表框中的结果图像会非常小,除非我通过仅选择油漆框原始画布的已使用部分来调整其大小。所以问题是我如何确定画布的哪一部分已被使用,以便我只能提取画布的那部分以加载到位图中以在列表框中显示?
(注意:我在上面进行了编辑以澄清问题)
实际程序有一个画框 (200x200) 和一个图像 (32 x 32)。图像使用Bitmap1.Canvas.CopyRect(Dest, PaintBox1.Canvas, Source);
. 如果在 200x200 的paintbox.canvas 中,paintbox 中的绘图只有 20x20,那么在 Image.canvas 中生成的位图在 32x32 的 image.canvas 中将非常小。我需要放大它,这意味着我必须确定颜料盒中使用区域的实际大小并更改“CopyRec”中的源大小。
delphi - 如何保留 TControlCanvas 的所有属性并在以后恢复它们?
我正在尝试为TDBGridEh
. 问题是当我更改钢笔、画笔的属性时……绘画变得凌乱。那是因为控件在调用事件处理程序后自己做了一些额外的绘制。所以我必须保留所有道具,然后在我自己的画完成时重新设置它们。
我尝试创建自己的TControlCanvas
网格并将其分配给它,但我得到一个运行时异常消息:
无法将 TControlCanvas 分配给 TControlCanvas
,这表明该AssignTo
方法既不是为其祖先实现的,TControlCanvas
也不是为其祖先实现的。所以我的问题是:
为什么
TControlCanvas
没有AssignTo
方法?问题是什么?如何保留和恢复 TControlCanvas 的所有属性?我的意思是比创建
TPen
,TBrush
,TFont
等更方便的东西。
c++ - 锁定后我应该解锁 TBitmap 画布吗?
我想绘制一个本地TBitmap
并返回它。因为我在主线程之外,所以我必须在使用前锁定画布。(TBitmap 是如何线程安全的)
我是否必须解锁画布,或者TBitmap
析构函数会为我做这件事?在位图上绘制后在此功能中解锁画布是否安全,并在我想读取位图时再次锁定它,或者如果我这样做可以清除画布吗?
javascript - 如何将 TCanvas->Arc 值转换为 SVG Arc
我为我的公司编写了一个从 Metafile 到 SVG 的转换器(TCanvas->arc)。我已经完成了矩形或其他一些元素的转换,但我不明白如何转换弧线。我用 JavaScript 编写代码。:)
我有一个文件,我在缓冲区中读取它并获取值,但这对你来说并不有趣。
所以我们目前有我能得到的所有值:Point1,Point2,Start,End
给出了这 4 点,我现在应该画一条弧线
他们目前正在使用此命令绘制弧线。你可以不注意这里的偏移量。
如何从给定点获取所有信息以在 SVG 中绘制 Arc。
例如实际值:
或者
我如何获得:大弧标志、扫描标志和旋转以及我必须使用什么值或计算它是否正确绘制。
我试着画出来,看了很多文档,试着用书面形式来创作。
c++ - 我需要总结一个目录中的数千个直方图
我有一个Processed_Data
包含数千个hists*****_blinded.root
文件的目录。每个都hists*****_blinded.root
包含大约 15 个图表和直方图。我的目标只是sc*****
从每个文件中重叠 1 个特定的直方图,以获得最终的直方图,该直方图finalhists_blinded.root
将代表所有重叠在一起的直方图。
我尝试了以下宏:
但我最后得到了空白画布。这个想法是hists
通过代码运行每个文件并逐个添加。
因此,我希望看到所有这些直方图重叠,以便它们中的每个尖峰都会在文件sc*****
中创建一个模式。finalhists_blinded.root