问题标签 [metafile]

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 投票
2 回答
461 浏览

document - EMF 备用子引用

例如,我想在 EMF 中建模一个 word 文档:

这将是我的元模型:

这里的问题是模型将是非常线性的:

不可能在两个表(table_1 和 table_2)之间插入段落。

我的解决方案是以另一种方式对元模型进行建模:

这对我来说似乎不是最佳的。是否有另一种方法可以解决 EMF 中的这个问题?

0 投票
1 回答
639 浏览

r - 如何在 Rmarkdown 中更改元文件图形输出的尺寸?

我有一个客户想使用 Rmarkdown 将数字制作成 Word 文档,然后对其进行编辑(我知道……这并不是可重复研究的重点,但这是客户想要的……)


使用dev='win.metafile'将图形作为可编辑的元文件放置,但无论输入如何,fig.height图形fig.width都是 1.67 x 1.67 英寸。所以不知何故dev='win.metafile'覆盖了这些块选项。

knitr 选项页面包含以下内容dev.args

dev.args: (NULL) 要传递给设备的更多参数,例如 dev.args=list(bg='yellow', pointsize=10); 请注意,这取决于特定设备(请参阅设备文档);当 dev 有多个元素时,dev.args 可以是参数列表的列表,每个参数列表要传递给每个单个设备,例如 <>=

我在哪里可以找到它所指的元文件格式的设备文档?

0 投票
0 回答
135 浏览

vb.net - 将 alpha 添加到增强的图元文件

我正在创建一个增强的元文件,我正在向其绘制图表。该图以红色突出显示部分,使用 40 的 alpha 使其具有一定的透明度。保存文件时,alpha 不存在,看起来像 Windows 使用白色/红色的平衡。我的问题是如何设置元文件以使其包含 alpha?

目标阿尔法:

在此处输入图像描述

实际的:

在此处输入图像描述

制作增强型元文件的代码:

如果需要,也可以提供对 GDI+ dll 的调用。

0 投票
1 回答
348 浏览

video - MP4 的 Red5 流问题

我正在使用 Red5 流式传输我的视频。但是 MP4 视频的缓冲区为空。flv视频没有问题。对于某些 MP4 文件,其流式传输正确。但只有少数 MP4 文件无法正常流式传输。我查看了 MOOV ATOM 问题。并且,将其更改为前面以允许渐进式下载。但是无论哪种方式都不起作用。有什么帮助吗?原因可能是: 1) Red5 没有为 MP4 生成元文件。

对于 flv,它的 Red5 会自动创建元文件。这是主要原因吗?如果是这样,如何自动修复/生成 MP4 文件的元文件?

0 投票
1 回答
248 浏览

java - Java 1.6 中的位图转换和元数据使用哪些类?

我们有一些旧代码(Java 1.2)大量使用 JAI_IO 进行图像处理。我们现在是 Java 1.6,所以我们不再需要它。首先,我还应该使用 BufferedImage 吗?还是有更好的课程?我基本上需要做的是:

  1. 将位图从一种格式转换为另一种格式(通常为 PNG)。
  2. 获取图像的元数据:像素大小、DPI 和位图格式。
  3. 调整图像大小。
  4. 将图像绘制到 Graphics2D 对象。
  5. 遍历位图中的像素以读取和/或设置它们(这可能很慢 - 很少使用)。

我知道答案是“哈哈哈”,但是有没有一个类可以将元文件转换为位图?

谢谢 - 戴夫

0 投票
1 回答
1333 浏览

winforms - 在不同机器上绘制图元文件时不同的缩放比例

我在使用以毫米为度量单位的元文件的 WinForms 应用程序中获得一致的缩放比例时遇到问题。我写了一个小示例应用程序来说明这个问题。

这是应用程序在 Windows 7 桌面计算机上的外观: 在此处输入图像描述

这是应用程序在 Windows 8 笔记本电脑上的外观: 在此处输入图像描述

源代码:

两台机器都设置为 96dpi,但 Win8 机器将元文件(红十字)渲染得更小。

比例因子 0.75 是根据标准 72 dpi 和当前 96 dpi 之间的差异计算得出的,72/96=0.75,这样是否正确?编辑:请参阅下面的答案,为什么这不起作用。

但大多数情况下,为什么它在 Win8 机器上的缩放比例不同,我可以获取什么设置来补偿?似乎Win8机器需要1.25左右的比例因子才能使红十字与蓝色矩形对齐。

谢谢!

0 投票
1 回答
342 浏览

c# - 如何裁剪图元文件

我正在使用 MetaFile。有没有办法裁剪图元文件以缩放特定部分?

我正在考虑在更大的位图上重新绘制它,然后裁剪该图像,但我知道这并不理想。

0 投票
1 回答
109 浏览

vb.net - 来自 dragDrop 的元文件 getData 生成异常

我正在尝试获取已拖放到我的表单上的元文件中的评论数据,但是,此代码会生成错误:

附加信息:运行时遇到致命错误。错误地址位于线程 0x2080 上的 0xeb556610。错误代码为 0xc0000005。此错误可能是 CLR 中的错​​误或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括 COM 互操作或 PInvoke 的用户封送错误,这可能会损坏堆栈。

我见过的每个代码示例都谈到从元文件而不是元文件本身获取图像。错误发生在 DragDrop 处理程序中的“Dim mf = Metafile”上,它永远不会到达枚举代码。

0 投票
0 回答
669 浏览

windows - 从 EMF Spool 中提取 EMF?

Windows EMF 假脱机文件格式是众所周知的并且有文档记录,但我似乎无法理解如何从假脱机文件中提取信息。现在,我想要实现的是从 SPL 文件中提取 EMF(作为一般规则,它应该存在)。我已经知道假脱机文件是由结构定义的,如下所示:

此外,在每个结构之后,都有一个无符号的 32 位数字,用于定义结构的大小。有谁知道如何使用这些结构从假脱机文件中提取信息?

PS:我知道有一些程序可以显示 EMF 的实时预览,所以我知道这是可能的。不过,我必须能够以编程方式执行此操作。

感谢您的任何意见。

0 投票
2 回答
1431 浏览

delphi - 将图形复制到屏幕尺寸之外的 TMetaFileCanvas

在将图像绘制到屏幕分辨率之外的坐标时,我们遇到了 TMetaFileCanvas 输出问题。矢量操作似乎没有问题,但图像操作只是“忽略”。如果我们将相同的图像绘制到屏幕边界内的坐标上,那么就没有问题了。

例如。此 SSCCE 将生成 4 个输出文件。位图变体没有问题,并且将按预期输出,左上角为inscreen.bmp红色方块,右下角为红色方块outsidescreen.bmp。元文件按预期工作,inscreen.emf左上角绘制了红色方块。outsidescreen.emf不起作用,只画线。

任何人都可以看到问题是什么,或者你知道解决这个问题的方法吗?

更新

当我最初问这个问题时,我应该包括这个。我们确实使用 HDC 对大位图进行了测试,并且出现了同样的问题。我已经更新了示例代码来演示这一点。

更新 2

不幸的是,即使在赏金之后,解决方案仍然难以捉摸。不会绘制屏幕大小之外的任何 BitBlt 操作。

这是当图像在屏幕坐标范围内时提取的 Metafile 操作:

以下是当图像超出屏幕坐标范围时的 Metafile 操作的提取:

您可以非常清楚地看到 BilBlt 操作(第一个中的 R0025)丢失了。