Anitaliasing bei TPaintBox/Canvas

Anitaliasing bei TPaintBox/Canvas

Beitragvon bastler » 7. Feb 2016, 14:44 Anitaliasing bei TPaintBox/Canvas

Hallo,

ich zeichne wie folgt eine Linie in einer TPaintBox:

Code: Alles auswählen
paintRuder.Canvas.AntialiasingMode := amOn;
paintRuder.Canvas.Pen.Width := 5;
paintRuder.Canvas.Pen.Color := $0000EA00;
paintRuder.Canvas.Line(0,0, 40,30 ));


Da die Linie in der Darstellung sehr pixelig ist, dachte ich mir, ich setze noch vorher die Eigenschaft Antialiasing auf "amOn". Jedoch hat das keine Auswirkung. Mein Betriebssystem Windows 10. Ist dies vielleicht das Problem, dass die Linie pixelig bleibt?
Kennt ihr andere Möglichkeiten weiche Linien zu zeichnen?

Vielen Dank für die Hilfe!
der bastler
bastler
 
Beiträge: 10
Registriert: 30. Jan 2016, 15:54

Beitragvon theo » 7. Feb 2016, 15:27 Re: Anitaliasing bei TPaintBox/Canvas

Das ist anscheinend für Win nicht funktional.
Aggpas oder BGRABitmap als Ausweg steht hier: http://forum.lazarus.freepascal.org/ind ... ic=24408.0
theo
 
Beiträge: 7881
Registriert: 11. Sep 2006, 18:01

Beitragvon SoE » 7. Feb 2016, 16:09 Re: Anitaliasing bei TPaintBox/Canvas

Es gibt auch noch VampyreImaging LIB oder Graphics32 und wahrscheinlich noch viele andere...

Man kann allerdings mit CANVAS.LineTo auch nur Pixel malen und hat dann den großen Vorteil, dass man nur einmal zeichnen muß und sofort den Schatten und die Kantenglättung mitgezeichnet hat.
Nur weil das "Ding" Line heißt, bedeutet das nicht, dass damit keine Pixel zu zeichnen sind. Man benötigt dann natürlich mindestens noch zwei FOR-Schleifen z.B. für einen Rahmen.
Der Rahmen sieht dann so aus als hätte man ihn in GIMP oder PS gebaut. Am schnellsten geht das mit 'nem selbstgebauten ColorPicker. (z. B. LazPaint SRC)

Liegt halt immer daran was genau man bauen möchte und ob man SemiTransparente Pixel benötigt usw....
SoE
 
Beiträge: 84
Registriert: 31. Aug 2015, 00:51
OS, Lazarus, FPC: Windows 7 (x64 Sp1), Lazarus 1.6.0 x64 FPC 3.0.0 | 
CPU-Target: x64
Nach oben

Beitragvon bastler » 8. Feb 2016, 11:36 Re: Anitaliasing bei TPaintBox/Canvas

Ich habe jetzt BGRABitmap verwendet und funktioniert wie gewünscht mit Anitaliasing :-). Danke!
bastler
 
Beiträge: 10
Registriert: 30. Jan 2016, 15:54

• Themenende •

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron
porpoises-institution
accuracy-worried