我知道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);
答案 0 :(得分:0)
您可以(例如)绘制一系列交替的黑白像素。至少对于600到1200 DPI的典型激光打印机,这通常会很好地融入看起来不那么暗的线条。但是,我应该补充说,一台好的激光打印机只有一个像素宽的线条非常薄。
这里很多确实取决于打印机。例如,对于大多数喷墨打印机,即使是/如果它们引用相同(甚至更高)的分辨率,您可以绘制的最细线也会更厚。线条通常也不是那么干净 - 在这两种情况下,它们在中心最暗,并且淡化到纸张颜色,但是用“褪色”的喷墨通常相当慢,所以边缘这条线不是那么干净。