AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Andorra 2D - Objekt zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2D - Objekt zeichnen

Ein Thema von Gruber_Hans_12345 · begonnen am 29. Nov 2010 · letzter Beitrag vom 29. Nov 2010
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#1

Andorra 2D - Objekt zeichnen

  Alt 29. Nov 2010, 14:03
Also verusche mich gerade mit Andorra2D

Was ich mich frage, ich möchte gernen einen Beriech zwichnen mit dem Canvas Objekt.
Dieser Bereich soll sagen wir mal vereinfacht ein Rechteck sein, wo eine Ecke abgerundet ist, und dieses Objekt sollte mit einem Gradient gefüllt sein.

Das erste problem ist, das ich mit dem Canvas gar keinen Halbkreise oder in meinem Fall viertel Kreise zeichnen kann.

Und wenn ich es mit nem gradient füllen will, dann mß ich es ja in eine Polygon oder so schaffen, damit ich es dann zeichnen kann -> aber dort habe ich ja pro punkt auch nur x und y ?!?!?

Wie gehe ich da nun vor?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Andorra 2D - Objekt zeichnen

  Alt 29. Nov 2010, 17:00
Hallo,

das mit dem Polygon sollte klappen, der Gradient sollte (so weit ich das in Erinnerung habe) automatisch über das gesammte Polygon verteilt werden.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Andorra 2D - Objekt zeichnen

  Alt 29. Nov 2010, 17:12
Also ich verwende im moment :

Delphi-Quellcode:
        Canvas.Brush.Color := Color;
        Canvas.Brush.GradientColor := AdCol32_White;
        Canvas.Brush.Style := abGradient;
        Canvas.Brush.GradientDirecton := gdHorizontal;

Canvas.Polygon(tempPt);
Es wird das Polygon genau so gezeichnet wie es soll, aber eben nur in der Farbe die ich im Canvas.Brush.Color angegeben habe ....
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Andorra 2D - Objekt zeichnen

  Alt 29. Nov 2010, 17:20
Hm, du hast recht. Ich berechne zwar schon die Interpolationsfaktoren in TAdCanvasPolygonObject.GenerateTextureCoords, jedoch erzeuge ich nicht den Gradient (was ansich aber auch relativ einfach geht). Man sollte das recht einfach patchen können, in dem man eine zweite Funktion analog GenerateTextureCords schreibt, die einfach die Farbe jedes Vertices entsprechend linear interpoliert setzt.

Wo ich mir das so anschaue könnte man das GenerateTextureCords und die zu schreibende GenerateGradient Funktion auch in eine gemeinsame Mutterklasse vieler Canvas-Objekte verschieben, was etwas Redundanz einspart, und von GenerateTextureCords könnte noch eine Funktion "GetBoundsRect" abspalten...

Was würde man heute nicht alles anders machen...

Für Patches bin ich jeder Zeit offen!
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Andorra 2D - Objekt zeichnen

  Alt 29. Nov 2010, 17:55
Kannst es mir noch etwas genauer sagen, was man da machen sollte/muß?

Bin noch nicht ganz so vertraut mit der Andorra Sache ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz