问题标签 [aggpas]
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 - 如何正确传递带有 var 前缀的对象类型的参数?
总结:
MyObject
andMyRecord
是值类型,而是MyClass
引用类型。- 赋值类型变量的赋值会复制变量;引用类型变量的赋值将复制引用。
ProcA
和中的参数ProcC
是原始参数的副本。ProcB
和中的论点ProcD
是原始论点。- in 的参数
ProcE
是原始引用的副本。 - 中的参数
ProcF
是原始参考。 - 关于如何包装在单元 agg_2D.pas 中声明的 Agg2D 对象进行绘制,请参阅下面大卫的回答。
============================================
我正在学习使用AggPas这是一个纯帕斯卡矢量图形绘图API。具体来说,使用包含 Agg2D 对象的单元 agg_2D.pas 代替包含 TAgg2D 类的单元 Agg2D.pas。选择单位 agg_2D.pas 而不是单位 Agg2D.pas 的原因是为了跨平台能力。
但是,我无法正确传递带有 var 前缀的 Agg2D 对象类型的参数。如以下代码所示,我想将 TForm1 创建的 Agg2D 对象传递给另一个实际负责绘制形状的类。但是,它不起作用。你能帮忙评论一下可能的原因吗?看来我一定错过了有关对象类型的重要概念。任何建议表示赞赏!您可以新建一个 VCL 应用程序,附加 FormCreate 处理程序,并逐行注释绘图代码以查看效果。
如果我删除所有出现的过程参数的 var 前缀,第二个画圆代码也会停止工作,我不太明白。为方便起见,单位如下图所示:
delphi - 如何使用 AggPas 绘制埃 (Å)?
总结:
没有运气找到如何使用 AggPas 库输出埃符号。
================================================
AggPas 库中的文本绘图函数采用 PAnsiChar 参数。我想知道如何使用 PAnsiChar 指向包含埃 (Å) 的文本?
为方便起见,以下代码中的 DrawTextCenterAligned 过程无法输出埃字母。