gpt4 book ai didi

excel - excel+powerpoint 如何决定重新缩放粘贴为图像的范围?

转载 作者:行者123 更新时间:2023-12-01 05:45:40 24 4
gpt4 key购买 nike

我注意到,当您在 excel 中复制一个范围(复制为图片 - 如屏幕上所示)并将其粘贴到 PowerPoint 中时,生成的图像不会 100% 缩放为原始图像(右键单击图像,转到格式设置并转到尺寸以查看比例信息)。

另外,这个缩放在不同的电脑上有所不同(可能与显卡有关)。如果您有不同版本的 Office,则每台计算机的缩放比例也不同(即在 Office 03 中,缩放比例为原始的 100%,在 Office 07 中,高度和宽度的缩放比例约为原始的 75% <---这些值可能不同在您自己的计算机上)。

Office 内部如何确定这些缩放比例是否有一些押韵和推理?我问是因为我正在通过 c# 自动化这个复制+粘贴功能(使用互操作的东西)。我使用 CopyAsPicture 方法获取所选范围的高度 x 宽度并将图像保存为 .emf 文件。然后,我使用之前存储的尺寸作为形状的尺寸将图像加载到 PowerPoint 形状中。它粘贴它没有错误,但是当我将它与excel的 native ctrl + c和ctrl + v粘贴为图片进行比较时,大小不同。我已经得出结论,这是因为这个奇怪的缩放问题。

顺便说一句,在 c# 中,如果您告诉某个形状的大小为 100x100,然后插入它(使用形状的 AddPicture 方法),它在 PowerPoint 中实际上不会是 100x100。如果您然后将该图像复制并粘贴到油漆中以查看尺寸,那将是完全不同的东西(对于我的机器,它将其放大 135%)。

有人知道发生了什么吗?或者办公室如何决定这些扩展问题?

谢谢,
鲨鱼

最佳答案

我发现了我的逻辑中的一个缺陷:我不应该看缩放,而应该看绝对大小。我注意到的一件事是,无论缩放如何,通过 native 复制和粘贴粘贴的图像的大小在所有机器上的所有 Office 版本中都是一致的。通过进一步分析,我发现大小是通过两种方式确定的:

1)如果您选择“复制为图像”并设置为“屏幕显示”,我将图像的高度和宽度(以像素为单位)除以 96 (dpi) 以获得以英寸为单位的图像大小。我相信这个 DPI 是 Office 使用的默认值。然后为了把它变成点,我需要将该图像乘以 72,因为我需要将它转换为 PowerPoint 在插入操作中期望的单位。完成此操作后,通过我的代码生成的图像与 native 程序的图像匹配。

2)如果您选择了“打印时显示”选项,我的原始方法就像我们上面讨论的那样使用元文件分辨率来帮助获取大小。

概括:

如屏幕所示

x = (metafile.height / 96) * 72

y = (metafile.width / 96) * 72

如打印时所示
x = (metafile.height / metafile.HorizontalResolution) * 72

y = (metafile.height / metafile.VerticalResolution) * 72

关于excel - excel+powerpoint 如何决定重新缩放粘贴为图像的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com