- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用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 或 Adobe-Illustrator 打开,并在显示器上非常清晰地显示。
AI 中的示例点放大了 4800%。
但是打印的点出现纹理条纹。我使用的打印机是喷墨打印机Cannon ip2780和激光打印机FX DocuPrint CP105b。
打印结果为 600dpi(激光)。垂直纹理条纹比 800dpi 不太明显。
800dpi(激光)的打印结果。垂直纹理条纹更加明显。 2、4、6 行比 1、3、5 行要轻。但点的密度应该相同。
有人可以帮忙解释一下打印机的奇怪行为是如何发生的吗?或者我组成点单位的方式是错误的。
我可以使用translate
频繁移动用户空间,特别是位置是浮点值(精度是否足够)?
我可以使用scale
手动将dpi更改为600。有什么方法可以更改输入dpi吗?
提前致谢!
最佳答案
您看到的是信号的混叠,moiré pattern更准确地说。发生的情况是您打印的点与打印机点阵(屏幕)不完全对齐。
不同的打印机有不同的屏幕,并且像素与它们的对齐方式也不同。因此,有时您的点会分布在 2 个打印机像素上,有时则不会。如果您确实想这样做,那么如果您使用此方法,每个设备都应该需要它自己的半色调图案。
进一步阅读:
关于printing - 打印 PostScript 文件时出现纹理条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32834806/
我已经和 Lua 搞了几天,我想出了一些让我三思而后行的事情。 Lua 5.3 的引用手册我还没有看,因为它似乎很复杂,我会尽快查看。 好的,在 lua 5.3 中,我们知道 print() 返回 n
计算时IO (IO ()) , 两个 (IO ())和 ()是计算出来的,所以为什么 main :: IO (IO ()) main = print (print "Hello, World!")
我不太理解从以下位置收到的输出: print(print(print('aaa'))) aaa None None 先aaa清楚了。但我认为第二个 print(aaa) 会抛出一个错误,因为变量 aa
当我运行下面的 Perl one-liner 时,它会打印 1在每一行的前面,我不想要它。它应该做的只是注释匹配 root 的行. $ cat /etc/passwd | perl -ne 'prin
我发现由于 Xcode 将不再消化 println() 我是 留下 Swift.print() 或 print() 。我的问题是, 两者有什么区别?我没能 在网上或在 swift 前卫郎。 (Swif
我正在开发一个内部 Google Chrome 扩展,它需要一种方法来启动将当前页面打印到打印机。我不希望出现默认的打印对话框(因此,javascript:window.print() 是不可能的)。
我正在将 Perl6 Terminal::Print 模块用于基于控制台的应用程序。 它运行良好 - 但是,现在我需要提示用户输入一串文本。 有什么好的方法可以做到这一点? 最佳答案 这是使用 Ter
在学习第三方的Lua代码时,我发现在主脚本文件的顶部 local insert = table.insert local match = string.match local gsub = strin
在学习第三方的Lua代码时,我发现在主脚本文件的顶部 local insert = table.insert local match = string.match local gsub = strin
我目前正在学习 Python,并开始了一个项目,为 2000-2005 年 MLB 摊牌纸牌游戏创建棒球模拟游戏。这些程序包含棒球比赛的事件,作为单独代码段中间的打印语句(“Jeff 击中单打”,“B
我的问题:在没有多余括号的情况下漂亮地打印表达式的最干净的方法是什么? 我有以下 lambda 表达式的表示: Term ::= Fun(String x, Term t) | App(
为了在 Julia 中创建可打印的新类型,应该定义哪些方法?我认为应该只定义 show,然后它将引发其他函数的行为,例如: 打印 字符串 repl_show 显示紧凑 展示 需要为新类型定义以下哪些方
我有一个页面,用户可以在其中打印一些带有图像和数据的 pdf。我希望他们能够打印他们想要的文件数量,并且能够暂停它们——这意味着他们可以停止打印并防止打印尚未发送到打印机的文件;当然,已经发送到打印机
CLHS 说 An attempt to print a circular structure with *print-circle* set to nil may lead to looping
正如标题所示,在 Pycharm 中使用自动完成功能时,显示的唯一自动完成选项是:print(args,kwargs) 内置 我希望自动完成功能以“print”完成,因为这是我通常使用的。我正在使用
是否有可能使用 fmt.Println("...") 打印一个 shell 居中对齐的字符串? 最佳答案 作为对这个长期回答问题的更新,可以通过使用 fmt 包中的 * 符号来改进@miltonb 发
我想在控制台屏幕上显示使用 DO 循环完成的计算进度。我可以像这样将进度变量打印到终端: PROGRAM TextOverWrite_WithLoop IMPLICIT NONE INTEGER ::
我正在尝试为我的新对象定义打印方法,并使用传递给 print 的对象名称。使用 deparse(substitute(y)) .这可以完美地使用 print功能明确: obj function (x
我需要安装 dompdf 方面的帮助。我应该将解压的 zip 文件放在目录中的哪个位置?我按照 INSTALL.txt 进行操作,它显示“将下载的包的内容提取到支持的路径之一”。这是否意味着放入“Mo
我的应用程序中有一个 webkit 小部件,您可以打印它。打印效果很好,除了打印时没有图像,即使屏幕上有图像。 打印代码如下: void MainWindow::printPage() { Q
我是一名优秀的程序员,十分优秀!