Aktuelle Zeit: 22.11.2019 00:05

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Module] DrawEx - 2DDrawing mit Antialiasing (all OS)
BeitragVerfasst: 16.06.2019 20:12 
Offline
Benutzeravatar

Registriert: 04.02.2005 15:40
Wohnort: Kaufbeuren
DrawEx - Module (all OS / 64Bit / DPI)

Befehle für 2DDrawing mit Antialiasing Effekt

Bild

Code:
; Draw::AlphaColor()    - similar to RGBA()
; Draw::aBox()          - similar to Box()
; Draw::aCircle()       - similar to Circle()
; Draw::aCircleArc()    - draws a arc of a circle
; Draw::aCircleSector() - draws a circle sector
; Draw::aLine()         - similar to Line()
; Draw::aLineXY()       - similar to LineXY()
; Draw::MixColor()      - mixes 2 colours in a mixing ratio of 1% - 99%

Download: DrawExModule.pbi

_________________
Download der PureBasic-Module (GitHub)

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Module] DrawEx - 2DDrawing mit Antialiasing (all OS)
BeitragVerfasst: 16.06.2019 20:16 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Vielen Dank nochmal für die vielen Module. :allright:

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Module] DrawEx - 2DDrawing mit Antialiasing (all OS)
BeitragVerfasst: 16.06.2019 20:18 
Offline
Benutzeravatar

Registriert: 04.02.2005 15:40
Wohnort: Kaufbeuren
Anwendungsbeispiel:

Kreisdiagramme von ChartModule.pbi

_________________
Download der PureBasic-Module (GitHub)

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Module] DrawEx - 2DDrawing mit Antialiasing (all OS)
BeitragVerfasst: 16.06.2019 20:42 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Hast du die neue VectorDrawing-Lib von PB nicht gesehen?

Hier dein Beispiel mit PB-Befehlen:
Code:
#Window = 0
#Gadget = 1

If OpenWindow(#Window, 0, 0, 200, 200, "2DDrawing Beispiel", #PB_Window_SystemMenu|#PB_Window_Tool|#PB_Window_ScreenCentered)
   
   CanvasGadget(#Gadget, 10, 10, 180, 180)
   
   If StartVectorDrawing(CanvasVectorOutput(#Gadget))
      
      ; Draw::aLineXY(90, 90, 90 + 80 * Cos(Radian(230)), 90 + 80 * Sin(Radian(230)), $228B22, Draw::#DPI)
      MovePathCursor(90, 90)
      AddPathLine(90 + 80 * Cos(Radian(230)), 90 + 80 * Sin(Radian(230)))
      VectorSourceColor($FF228B22)
      StrokePath(1)
      ; Draw::aCircleSector(90, 90, 70, 40, 90, $800000, $00D7FF, Draw::#DPI)
      MovePathCursor(90, 90)
      AddPathCircle(90, 90, 70, 40, 90, #PB_Path_Connected)
      ClosePath()
      VectorSourceColor($FF00D7FF)
      FillPath(#PB_Path_Preserve)
      VectorSourceColor($FF800000)
      StrokePath(1)
      ; Draw::aCircle(90, 90, 80, $800000, Draw::#DPI)
      AddPathCircle(90, 90, 80)
      VectorSourceColor($FF800000)
      StrokePath(1)
      ; Draw::aCircleArc(90, 90, 70, 250, 340, $008CFF, Draw::#DPI)
      AddPathCircle(90, 90, 70, 250, 340)
      VectorSourceColor($FF008CFF)
      StrokePath(1)
      ; Draw::aLine(10, 90, 160, 1, $8515C7, Draw::#DPI)
      MovePathCursor(10, 90)
      AddPathLine(160, 0, #PB_Path_Relative)
      VectorSourceColor($FF8515C7)
      StrokePath(1)
      ; Draw::aBox(5, 5, 170, 170, $CD0000, Draw::#DPI)
      AddPathBox(5, 5, 170, 170)
      VectorSourceColor($FFCD0000)
      StrokePath(1)
      
      StopVectorDrawing()
   EndIf
   
   Repeat
      Event = WaitWindowEvent()
   Until Event = #PB_Event_CloseWindow
   
EndIf

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Module] DrawEx - 2DDrawing mit Antialiasing (all OS)
BeitragVerfasst: 16.06.2019 22:43 
Offline
Benutzeravatar

Registriert: 04.02.2005 15:40
Wohnort: Kaufbeuren
Doch die habe ich gesehen, doch die hat RGBA() - Farben vorausgesetzt, die ich zu diesem Zeitpunkt nicht verwenden konnte.

So habe ich eine Lösung gesucht, bei der ich die Farben mit der Hintergrundfarbe gemischt und so ein Pseudeo-Antialiasing erzeugt.
Als mir dann die Idee kam, wie ich das RGBA() Problem umgehen kann, war es schon zu spät und ich hatte schon die ganzen Routinen, die lediglich auf Transparenz umgestellt werden mussten. :roll:

Nachdem das ganze eine äußerst interessante Herausforderung war, habe ich das Modul trotzdem veröffentlicht für Leute, die 2D-Drawing verwenden.

_________________
Download der PureBasic-Module (GitHub)

Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye