Linienbreite

Für allgemeine Fragen zur Programmierung mit PureBasic.
DerProgrammierer78
Beiträge: 126
Registriert: 24.10.2004 21:11
Wohnort: Ahlen

Linienbreite

Beitrag von DerProgrammierer78 »

Ich möchte ein kleines Zeichenprogramm in PureBasic realisieren und zum kostenlosen Download dann frei geben. Eigentlich ist es schon fertig und alles funktioniert und ich kann alle Funktionen nutzen. Leider kann ich die Strichstärke nicht ändern. Kann mir jemand einen Tip geben, wie ich die Strichstärke beim LineXY-Befel ändern kann, dass der Strich mehrere Pixel breit ist? Eine Mathematische Lösung habe ich schon. Aber das ist irgendwie rechenaufwändig und für ältere Computer dann nicht mehr geeignet. Und einfach zwei oder mehr Striche nebeneinander machen hilft mir nicht, da ich die Enden auf Anfrage Abrunden möchte.

Ich habe derzeit zwei Varianten für diesen Fall.

1. Ich starte eine Schleife, die kontinuierlich die Linie abwandert und Kreise Zeichnet in der gewünschten Breite. (Rechenaufwändig)
2. Ich zeichne am Anfang und am Ende einen ausgefüllten Kreis und errechne über Sinus und Cosinus die Positionen der Linien am Rand, zeichne diese ein und sage ihm, dass er die entstehende Fläche bitte ausfüllen möchte. (Rechenaufwändig)

Über eine gute Idee würde ich mich freuen. Aber bitte keine API-Fuktionen, da ich dieses Programm auch nach Linux und evtl. AmigaOS portieren möchte.
Der Computer ist der beste Freund des Menschen.
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!! ;-)
Benutzeravatar
Dostej
Beiträge: 529
Registriert: 01.10.2004 10:02
Kontaktdaten:

Beitrag von Dostej »

Schau mal die X2D - Lib an. damit sollte es gehen, denke ich...
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1767
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Dostej hat geschrieben:Schau mal die X2D - Lib an. damit sollte es gehen, denke ich...
Sicherlich eine gute Anregung, aber er wollte seinen Code auf Linux/AmigaOS portierbar halten. Da scheidet die Verwendung einer UserLib - sofern wie hier nur für Windows verfügbar - eigentlich aus.

Oder zumindest müsste er mit Compiler-Direktiven arbeiten:

Code: Alles auswählen

CompilerIf #OS = #Windows
  ; use X2D lib here
CompilerElse   ; other OSes
  ; use own code here
CompilerEndIf
Btw. gibt es im CodeArchiv auf Codes (DefType.... oder ähnlich), die mit API-Codes arbeiten.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Steht noch in der Wishlist. Wer weis, vielleicht kommt nach dem Color noch dieses in PB4 oder aber erst in PB5.

http://forums.purebasic.com/english/vie ... highlight=
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten