gpt4 book ai didi

printing - 打印 PostScript 文件时出现纹理条纹

转载 作者:行者123 更新时间:2023-12-03 04:53:33 25 4
gpt4 key购买 nike

我正在使用PostScript语言来描述一页均匀排列的点。这些点是 600dpi,这意味着一英寸有 600 个点。我使用一位来表示 PostScript 中的每个点,1 表示空白,0 表示黑点。

我的以点为单位的 PostScript 文件:

%% SetPageSize
/setPageSize {<</PageSize [595 842] >> setpagedevice} def
setPageSize
%% Dot Code
gsave
/mm {2.834645 mul} def
1 mm 1 mm translate
5.76 5.76 scale
48 48 1 [48 0 0 -48 0 48]
{<
fff7ff7ff7ff
ffffffffffff
ffffffffffff
fdffffffffff
ffffffffff7f
ffffffffffff
ffffffffffff
ffffffffffff
fffff7ffffff
fffffffdffff
ffffffffffff
ffffffffffff
7ff7ff7ff7ff
ffffffffffff
ffffffffffff
ffffffffffff
ffffffffffff
ffffffffffff
fffefffffeff
ffffffffffff
f7ffffff7fff
ffffffffffff
ffffffffffff
ffffffffffff
7ff7ff7ff7ff
ffffffffffff
ffffffffffff
fffffffdffff
fffff7ffffff
ffffffffffff
ffbfffffffff
ffffffffffff
fffffffffff7
ffffffffffff
ffffffffffff
ffffffffffff
7ff7ff7ff7ff
ffffffffffff
ffffffffffff
ffffffffffff
f7ffffffffff
ffffffffffff
fffffffffffb
ffffffffffff
ffffffff7fff
7fffdfffffff
ffffffffffff
ffffffffffff
>}
image
grestore
  • 上面的代码表示一个点的单位,在 600dpi 中为 2.03mm*2.03mm

  • translate 用于将用户空间移动到所需的位置,例如:

    • 假设一个单元位于(1mm, 1mm)位置。

    • 其右侧单位位于(3.03mm, 1mm)位置。

    • 其向上单位位于(1mm, 3.03mm)位置。

  • scale 用于将输出 dpi 更改为 600。系数的计算方式为 72*48/600 = 5.76

    <
  • 矩阵48 48 1 [48 0 0 -48 0 48]是垂直和水平扫描像素。

  • 最后的image结构表示点的二进制值,用十六进制书写。

这些点可以用 GhostScript 或 Adob​​e-Illustrator 打开,并在显示器上非常清晰地显示。

AI 中的示例点放大了 4800%。

enter image description here

但是打印的点出现纹理条纹。我使用的打印机是喷墨打印机Cannon ip2780和激光打印机FX DocuPrint CP105b。

打印结果为 600dpi(激光)。垂直纹理条纹比 800dpi 不太明显。 enter image description here

800dpi(激光)的打印结果。垂直纹理条纹更加明显。 2、4、6 行比 1、3、5 行要轻。但点的密度应该相同。 enter image description here

打印结果为800dpi(喷墨)。出现水平和垂直的纹理条纹。 enter image description here

有人可以帮忙解释一下打印机的奇怪行为是如何发生的吗?或者我组成点单位的方式是错误的。

  1. 我可以使用translate频繁移动用户空间,特别是位置是浮点值(精度是否足够)?

  2. 我可以使用scale手动将dpi更改为600。有什么方法可以更改输入dpi吗?

提前致谢!

最佳答案

您看到的是信号的混叠,moiré pattern更准确地说。发生的情况是您打印的点与打印机点阵(屏幕)不完全对齐。

不同的打印机有不同的屏幕,并且像素与它们的对齐方式也不同。因此,有时您的点会分布在 2 个打印机像素上,有时则不会。如果您确实想这样做,那么如果您使用此方法,每个设备都应该需要它自己的半色调图案。

进一步阅读:

关于printing - 打印 PostScript 文件时出现纹理条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32834806/

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