在插件中创建没有描述或填充的图表图像
Creating image of diagram without description or padding in addin
我想知道如何在插件中以编程方式编辑 EA 中的设置。
我已经有一个正常运行的插件,每次更改图表时都会创建一个新图像,覆盖旧版本。
这是通过以下命令在 C# 中完成的:
projectInterface.PutDiagramImageToFile(GUID, path, 1);
看起来像这样:
但是我想要一张没有填充且左上角没有框的图像,如下所示:
虽然这可以通过编辑设置来完成,但我想保留用户设置,这意味着我可能会执行以下操作:
- 记录设置
- 编辑设置
- 创建图表图像
- 将设置改回原来的设置
所以...
我如何编辑这些设置? (首选项 -> 图表 -> 图框 -> 打印图像和图表填充)
也非常欢迎提出想法:)
你不能轻易达到你想要的。用于创建图表边框的标志存储在注册表中:
[HKEY_CURRENT_USER\Software\Sparx Systems\EA400\EA\OPTIONS]
"SAVE_IMAGE_FRAME"=dword:00000001
您可以更改此设置,但 EA 只会在重新启动时识别更改。如果您 运行 来自 EA 外部的脚本,您将需要更改注册表,启动 EA 实例,执行您需要的操作并最终改回标志。从 EA 内部来看,您可能不走运。 (不过你可以试试。)
我查看了帮助和图表Properties/Diagram/Hide它说的边框
Click on any or all of the checkboxes to specify which saved images of your diagrams will automatically include a diagram frame around them - those saved to disk, those printed out, and/or those saved to the default system clipboard.
A diagram frame is a labeled outline around the diagram image, providing both a border and a reference.
显然它并没有按照它说的去做。您可能会报告错误。
留下我之前的回答,以免别人误入歧途....
旧答案 - 看来“显而易见”的图表设置不会按照它说的去做 - EAUI :-(
您需要直接访问表格。
SELECT ShowBorder FROM t_diagram WHERE Diagram_ID = <the id>
其中 <the id>
是图表的图表 ID。它将 return True
或 False
取决于当前设置。
要实际更改它,您需要调用
Repository.Execute("UPDATE t_diagram SET ShowBorder=<the altered value>")
Execute
是一个未记录但有效的操作,在 API(再次)不提供属性的情况下无法避免。
我想知道如何在插件中以编程方式编辑 EA 中的设置。
我已经有一个正常运行的插件,每次更改图表时都会创建一个新图像,覆盖旧版本。 这是通过以下命令在 C# 中完成的:
projectInterface.PutDiagramImageToFile(GUID, path, 1);
看起来像这样:
但是我想要一张没有填充且左上角没有框的图像,如下所示:
虽然这可以通过编辑设置来完成,但我想保留用户设置,这意味着我可能会执行以下操作:
- 记录设置
- 编辑设置
- 创建图表图像
- 将设置改回原来的设置
所以... 我如何编辑这些设置? (首选项 -> 图表 -> 图框 -> 打印图像和图表填充)
也非常欢迎提出想法:)
你不能轻易达到你想要的。用于创建图表边框的标志存储在注册表中:
[HKEY_CURRENT_USER\Software\Sparx Systems\EA400\EA\OPTIONS]
"SAVE_IMAGE_FRAME"=dword:00000001
您可以更改此设置,但 EA 只会在重新启动时识别更改。如果您 运行 来自 EA 外部的脚本,您将需要更改注册表,启动 EA 实例,执行您需要的操作并最终改回标志。从 EA 内部来看,您可能不走运。 (不过你可以试试。)
我查看了帮助和图表Properties/Diagram/Hide它说的边框
Click on any or all of the checkboxes to specify which saved images of your diagrams will automatically include a diagram frame around them - those saved to disk, those printed out, and/or those saved to the default system clipboard.
A diagram frame is a labeled outline around the diagram image, providing both a border and a reference.
显然它并没有按照它说的去做。您可能会报告错误。
留下我之前的回答,以免别人误入歧途....
旧答案 - 看来“显而易见”的图表设置不会按照它说的去做 - EAUI :-(
您需要直接访问表格。
SELECT ShowBorder FROM t_diagram WHERE Diagram_ID = <the id>
其中 <the id>
是图表的图表 ID。它将 return True
或 False
取决于当前设置。
要实际更改它,您需要调用
Repository.Execute("UPDATE t_diagram SET ShowBorder=<the altered value>")
Execute
是一个未记录但有效的操作,在 API(再次)不提供属性的情况下无法避免。