如何在看起来比像素更薄的打印机中画线?

时间:2012-06-07 03:09:25

标签: windows printing gdi

我知道GDI的限制。 GDI只能绘制宽度至少为1像素的线条。但是我仍然希望在打印机中绘制一条看起来比1像素更薄的线。

你的意思是我可以这样做:

with cLogBrush do
begin
    lbStyle := BS_Solid;
    lbColor := ACanvas.Pen.Color;
    lbHatch := 0;
end;  
dwStyle := PS_COSMETIC or PS_ALTERNATE;
ACanvas.Pen.Handle := ExtCreatePen(dwStyle, 1, cLogBrush, 0, nil);
ACanvas.MoveTo(X1, Y1);
ACanvas.LineTo(X2, Y2);

1 个答案:

答案 0 :(得分:0)

您可以(例如)绘制一系列交替的黑白像素。至少对于600到1200 DPI的典型激光打印机,这通常会很好地融入看起来不那么暗的线条。但是,我应该补充说,一台好的激光打印机只有一个像素宽的线条非常薄。

这里很多确实取决于打印机。例如,对于大多数喷墨打印机,即使是/如果它们引用相同(甚至更高)的分辨率,您可以绘制的最细线也会更厚。线条通常也不是那么干净 - 在这两种情况下,它们在中心最暗,并且淡化到纸张颜色,但是用“褪色”的喷墨通常相当慢,所以边缘这条线不是那么干净。