问题标签 [wmf]
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.
encoding - 使用十六进制编辑器搜索 wmf 文件的记录
根据 wmf 规范,数据以 little indian 格式存储,而用于位域的字节编号是 big-endian。META_SETMAPMODE = 0x0103 的 RecordType 枚举。
但是,当我使用十六进制编辑器打开 wmf 文件并搜索值 01 03 时,没有返回任何结果。WMF 100% 包含此记录。在规范中还声明“低字节必须匹配 RecordType 枚举的低字节”。
我究竟做错了什么?
任何想法或建议将不胜感激。
谢谢。
c# - 加载 WMF 失败,但将 PNG 转换为 WMF 成功但背景丢失
使用 RichTextBox,我放弃了尝试使 PNG 具有透明背景,而且我真的不喜欢 Microsoft 的代码,即为了将图像对象转换为 wmf,您必须编写两个文件,然后阅读它回到了内存流中,所以我打开了 Illustrator,并将一个表情转换为 WMF,因此据称它是 RTF 所需的格式。
随附的是我正在尝试的格式的图像:
- WMF big-smile.wmf(必须链接这个,因为不允许上传 WMF)
- PNG
我现在遇到的麻烦是以下代码导致没有显示图像:
虽然以下代码有效(但仅适用于非 wmf 文件):
它们都返回适当的字符串格式,用于在 RichTextBox 控件中嵌入 wmf 文件,如下所示
我正在寻找一种方法来获取适用于 WinForms RichTextBox 组件的适当字符串值。
我确实觉得这是一个与非常具体的问题相关的非常具体的问题,并且已经提供了足够多的代码和详细信息,以便您复制问题。理想情况下,如果您遇到此问题并找到了不涉及弄乱用户剪贴板的解决方法(我知道复制/粘贴方法不仅速度慢得多,而且会干扰用户剪贴板。我我也知道解决剪贴板问题的方法,该问题将旧剪贴板数据存储在内存中并将其设置回,但是在某些情况下数据无法设置回,这并非没有缺陷)。
我不是在寻找捷径,尽管您会认为到 2015 年,WinForms 中的 RichTextBox 控件将在 .NET 的 10 年中不断发展。
我也意识到,另一种选择是使用 WPF,它打开了潘多拉的盒子来解决使用 WPF 的所有其他问题(以及好处)。我更喜欢坚持使用总体上更成熟的语言。
我需要帮助的内容非常具体:我发布了另一个线程,引用了有关此问题的其他内容,但由于声称它不具体而被关闭。这是同一个问题,还有更多细节,希望您能看到这是多么具体。
C# > WinForms > RichTextBox > 用图像替换字符串,这要求格式非常具体,在 WMF 中作为非常具体的字节字符串,具有非常具体的格式化标签作为字符串 > 在保持透明度的同时以所需格式正确加载图像时出现问题或者如果不能保持矢量的透明度,至少使用可定义的颜色。
winapi - WMF 使用 PlayEnhMetafile 渲染不佳
对于熟悉 WMF/EMF 格式的人来说,这是一个问题。
我想知道为什么附加的元文件无法使用 PlayEnhMetafile 正确呈现(使用 SetWinMetaFileBits 转换后,我正在 Delphi 中对其进行测试)。它无法与许多其他应用程序(例如 Total Commander 查看器、Irfanview...)一起正确呈现,但使用 MS Office 2010 图像查看器可以正确呈现。
注意:此图来自 MS Word 2010 生成的 RTF 文件,是 Equation Object 的结果。
可能是什么原因以及如何正确渲染此图像。
c# - 如何将 SVG 文件转换为 WMF 格式?
我想将 .svg 矢量图形转换为 .wmf。我查看了这个库http://wmf.codeplex.com/,但没有成功。
我找到了这个库http://svg2swf.sourceforge.net/,但我不知道如何在 c# 项目中使用它。
编辑:inkscape 的这种用法也不适合我(无法打开 wmf 文件)。
c# - 现代 Windows 元文件替代品
生成必须插入 Microsoft Office 文档的矢量图形的现代方法是什么?
我的老化应用程序目前通过在临时目录中制作增强型元文件 (.emf) 并使用自动化插入 Excel 文档来做到这一点。它实际上工作得很好。
但是该应用程序需要完全重写和重新思考技术,所以我想知道这种古老的图像格式是否仍然是最佳选择。Windows 元文件基本上是一系列 GDI 函数调用,而 GDI 显然已经过时,所以我觉得它不像。
我查看了 SVG,但它在 Office 2010 中不受支持,这是一项要求。
我只是想知道,在现代 Windows 平台和 Microsoft Office 文档中应该如何处理矢量图形?
c# - 如何将数学方程式从word存储到sql数据库并从sql表中检索并生成pdf?
我正在开发教育软件,需要将数学方程式从 word 文件保存到 sql 数据库。有不同类型的内容文档,例如数学,物理和化学。我想将这些word文档内容(具体以表格格式提供)保存在sql表中。
我在我的 winforms 应用程序中进行了一些流程,例如从 word 复制内容并从剪贴板获取数据,然后我尝试将该方程式保存在位图文件或图像文件或字节中,但无法使用该流程。
在上面的片段中,我试图从剪贴板获取数学方程并尝试将该方程转换为位图图像,但它不能正确转换,当我打开该图像时不提供预览。
我需要指导方针来做到这一点。但是如何?
谢谢
ios - 如何在 ios 中显示带有 wmf 图像的 rtf 文件
我有一个.rtf
文件。它包含带有Windows Metafile Format(wmf)
. 我想在iOS
应用程序中显示这个文件。我尝试使用NSAttributedString
and in显示它,UIWebView
但未显示图像。如何在iOS
设备上显示它?
编辑
对于NSAttributedString
:
对于UIWebView
:
编辑2
我尝试将.rtf
文件转换为.rtfd
文件格式。
TXT.rtf
RTFD 文件在文件中创建包含和图像的捆绑包。在TXT.rtf
文件中,图像作为参考给出,分别存储在 RTFD 中。如下所示:
我将文件转换为 RTFD,但是当文件包含.wmf
图像时会出现问题。.wmf
文件格式的图像没有得到转换。
powershell - 与 DSC 一起安装时,巧克力包缓存在哪里
与 OneGet 巧克力供应商合作,如果我运行如下命令...
巧克力包直接在盒子上缓存在 <%LocalAppData%>\Nuget\Cache 中。如果我重新运行相同的命令,则会从此缓存中读取包。
但是,如果我将此命令包装在 DSC 资源中并在一个盒子上运行它,我将找不到包的缓存位置。它肯定被缓存在某个地方。有谁知道在哪里?您可能会认为 DSC 会在运行的用户下运行,尽管我不确定它运行的用户是哪个用户,并且也毫无乐趣地浏览了所有用户文件夹。
delphi - Windows 元文件的尺寸是否有限制?
我正在创建一些 .wmf 文件,但其中一些似乎已损坏并且无法在任何图元文件查看器中显示。经过反复试验,我发现问题是由它们的尺寸引起的。如果我按一个因子缩放相同的图形以减小尺寸,它将显示出来。
现在,我想知道绘图的大小是否有限制,或者问题是否出在其他地方。我知道这些文件有一个 16 位的数据结构,所以我猜每个维度的限制是 2^16 个单位,(如果有符号,则为 2^15 个单位)。但在我的测试中,它大约是 25,000。所以我不能依赖这个值,因为限制可以是任何东西(宽度*高度可能,或者绘图的分辨率可能会影响它)。我找不到有关描述此内容的 .wmf 文件的可靠资源。
这是显示问题的示例代码:
PS:我知道将其设置Metafile.Enhanced
并True
保存为 .emf 文件可以解决问题,但我为其生成文件的目标应用程序不支持增强型元文件。
编辑: 正如下面的答案中提到的,这里有两个不同的问题:
主要问题是关于文件本身,它对每个维度都有 2^15 的限制。如果绘图的宽度或高度超过此值,delphi 将写入损坏的文件。您可以在Sertac 的回答中找到更多详细信息。
第二个问题是关于将文件加载到TImage
. 当您想在 delphi VCL 应用程序中显示图像时,还有另一个限制。这是系统相关的,并且与将要在其上绘制绘图的 DC 的 dpi 相关。汤姆的回答详细描述了这一点。传递 0.7Scale
至DrawWMF
(上面的代码示例)在我的 PC 上重现了这种情况。生成的文件没问题,可以用其他图元文件查看器(我使用 MS Office 图片管理器)查看,但 VCL 无法显示它,但是,在加载文件时不会引发异常。