I've forgotten to tell that I have used very short DrawLineFS in the
test of my program.
The small rectangles aren't good yet.
In TBitmap32.FrameRectS maybe you can change form:
...
TestSwap(X1, X2);
TestSwap(Y1, Y2);
DrawHorzLineS(X1, Y1, X2, Value);
DrawHorzLineS(X1, Y2, X2, Value);
if Y2 > Y1 + 1 then
begin
DrawVertLineS(X1, Y1 + 1, Y2 - 1, Value);
DrawVertLineS(X2, Y1 + 1, Y2 - 1, Value);
end;
...
to:
...
TestSwap(X1, X2);
TestSwap(Y1, Y2);
DrawHorzLineS(X1, Y1, X2, Value);
if y2>y1 then
DrawHorzLineS(X1, Y2, X2, Value);
if Y2 > Y1 + 1 then
begin
DrawVertLineS(X1, Y1 + 1, Y2 - 1, Value);
DrawVertLineS(X2, Y1 + 1, Y2 - 1, Value);
end;
...
And so on for FrameRectTS (or something similar).
Otherwise if you set the pen trasparency to 128 and then you do:
FrameRectTS(10, 10, 30, 10)
FrameRectTS(10, 30, 30, 31)
you obtaint two rectangles of different opacity.
I still get some ERangeError in SetPixelS, GetScanLine and GetPixel
when I use non antialiased graphics (lines) (I have to switch off the
range error checking).
Thank you for your attention,
Bearish hugs
Sent via Deja.com http://www.deja.com/
Before you buy.