0

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);
4

1 に答える 1

0

たとえば、黒と白のピクセルが交互に並んだ線を描くことができます。少なくとも 600 から 1200 DPI の一般的なレーザー プリンターでは、これは通常、あまり暗く見えない線にうまく溶け込みます。ただし、優れたレーザー プリンターのわずか 1 ピクセル幅の線は、実際にはかなり細いことを付け加えておきます。

ただし、ここでの多くはプリンターに依存します。たとえば、ほとんどのインクジェット プリンターでは、同じ (またはそれ以上の) 解像度を引用している場合でも、描画できる最も細い線は太くなります。どちらの場合も、線は通常それほどきれいではありません。どちらの場合も、中央が最も暗く、紙の色にフェードしますが、「フェード」するインクジェットでは、通常はかなり遅くなるため、エッジラインはそれほどきれいではありません。

于 2012-06-07T03:32:01.087 に答える