【问题标题】:Print Transparent Shapes打印透明形状
【发布时间】:2014-07-23 10:47:17
【问题描述】:

我有一张我工作的仓库的地图,我正在尝试制作一个在某个过道内发生的活动的热图。

我设法让 VBA 工作,方法是在每个通道上放置永久性红色形状,然后根据通道的百分比调整每个框的透明度。

它在屏幕上看起来很棒,但是我尝试的多种打印方法都不起作用;

预期输出(这是它在屏幕上的样子):

我尝试过的各种方法都产生了相同的结果,其中包括:-

  • 直接打印

  • 另存为 PDF

  • 打印为 PDF(我们有 PDF 虚拟打印机)

  • 将范围保存为位图

  • 将屏幕复制到图表中,然后将图表保存导出为图像

导出为 PDF:-

另存为位图:-

当它被打印出来时,它在红色区域内有不同的图案,据我发现,每个图案都代表一定的透明度。

没有在我的键盘上使用 PRTSCN 来获取它并将其粘贴到油漆中,我不知道如何继续前进。这需要完全自动化(即每天可通过电子邮件发送和打印),因此 PRTSCR 并不是一个真正的选择。

任何想法都将不胜感激。

【问题讨论】:

  • 您的渲染器很可能具有有限的颜色深度,因此它试图通过抖动来“创建”细微差别。除非您编写用于生成您提到的文档的代码,否则无法建议哪些选项可以消除您的问题。更多信息,更多获胜机会。 :-)

标签: excel vba printing transparency shapes


【解决方案1】:

对于任何设法遇到此问题的人,我最终所做的是获取 255 的百分比并设置形状的 RGB 颜色值。

下面的示例伪代码:

for each shp in Activesheet.Shapes
    newTrans = 255 * Sheet5.Range("P" & i).Value 'New transparency
    Shp.Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, newTrans, newTrans)
    DoEvents
next shp

这将根据 sheet5 上的百分比给出红色阴影。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多