1 回答

TA貢獻(xiàn)1816條經(jīng)驗 獲得超6個贊
屏幕和打印機(jī)是非常不同的媒體。在屏幕上,您通常具有大約 72 到 92 dpi(每英寸像素)的低分辨率。每個像素可以有大量的顏色(24m 或更多)。在打印機(jī)上,您通常具有高分辨率(高達(dá) 2540 dpi),但只有 2 (b/w) 到 6 種顏色。為了創(chuàng)建中間色,打印機(jī)將為您提供光柵化技術(shù),例如半色調(diào)。
您創(chuàng)建BufferedImage 的方式嚴(yán)重偏向于屏幕輸出:低分辨率、使用中間顏色進(jìn)行抗鋸齒等。結(jié)果會很差。此外,您的輸出意圖丟失了。打印機(jī)驅(qū)動程序只能看到像素圖。它不知道文本是否存在以及文本在哪里,也無法為其優(yōu)化輸出。
為了提高質(zhì)量,您主要有兩種選擇:
如果您只打印線條和文本,并且只使用打印機(jī)可以創(chuàng)建的顏色而不混合顏色,則可以創(chuàng)建一個與打印機(jī)分辨率和顏色完全匹配的BufferedImage 。那應(yīng)該給你一個體面的質(zhì)量。
否則,直接繪制到Printable。然后保留輸出操作的意圖,打印驅(qū)動程序可以產(chǎn)生最佳質(zhì)量。我敢肯定,只要稍作思考,您就可以重構(gòu)您的代碼,使您仍然擁有一個非常易于維護(hù)的結(jié)構(gòu)。
添加回答
舉報