Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Farbdreieck mit Delphi6 Professional programmieren (https://www.delphipraxis.net/24795-farbdreieck-mit-delphi6-professional-programmieren.html)

Christian18 26. Jun 2004 14:41


Farbdreieck mit Delphi6 Professional programmieren
 
Hallo,

ich soll für die Schule eine kleine Application schreiben, die aus einem Dreiecke besteht. In diesem Dreieck sollen alle Farben enthalten sein. Also ein farbdreieck. wie kann ich das machen??? es soll dazu OpenGL benutzt werden

Mit freundlichen Grüßen Christian18

Nicodius 26. Jun 2004 14:44

Re: Farbdreieck mit Delphi6 Professional programmieren
 
du gehst mit drei schlefien die Rgb durch und zeichnen - die formel kann ich dir jetzt nicht geben

aber RGB und nacher mit Canvas.Pixels[i,j] := RGB(e,f,g);


edit: besser du suchst nach Hier im Forum suchenRGB oder nach Hier im Forum suchenPixels

HIER FINDEST DU EINEN BEISPIELCODE

StefanDP 26. Jun 2004 14:50

Re: Farbdreieck mit Delphi6 Professional programmieren
 
Du willst doch ein Dreieck oder?

Wie soll denn das dann aussehen?
Links unten Rot
Oben mitte Grün
Unten rechts Blau
:gruebel:

alle "farben" oder auch schwarz und weiß?

sCrAPt 26. Jun 2004 14:51

Re: Farbdreieck mit Delphi6 Professional programmieren
 
@Nicodius: hat jetzt aber gutwegs garnix mit OpenGl zu tun... Eher Canvas...

http://www.og4all.de/meindphase, sCrAPt

Nicodius 26. Jun 2004 14:54

Re: Farbdreieck mit Delphi6 Professional programmieren
 
Zitat:

aber RGB und nacher mit Canvas.Pixels[i,j] := RGB(e,f,g);
hab ich je opengl erwähnt?

sCrAPt 26. Jun 2004 14:56

Re: Farbdreieck mit Delphi6 Professional programmieren
 
Zitat:

Zitat von Christian18
es soll dazu OpenGL benutzt werden

:roll:

http://www.og4all.de/meindphase, sCrAPt

Nicodius 26. Jun 2004 14:58

Re: Farbdreieck mit Delphi6 Professional programmieren
 
:oops: sorry

LarsMiddendorf 26. Jun 2004 15:02

Re: Farbdreieck mit Delphi6 Professional programmieren
 
Da sind zwar nicht alle Farben drin aber vielleicht ist da ja so ähnlich gemeint:

Code:
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
glBegin(GL_TRIANGLES);
glColor3f(1,0,0);
glVertex3f(-1,-1,0);
glColor3f(0,1,0);
glVertex3f(1,-1,0);
glColor3f(0,0,1);
glVertex3f(-1,1,0);
glEnd;

Christian18 26. Jun 2004 17:58

Re: Farbdreieck mit Delphi6 Professional programmieren
 
ja ok erst einmal vielen dank für die tips. ich kenne mich leider der multimedia programmierung überhaupt nicht aus. was mache ich jetzt mit den code???

w3seek 26. Jun 2004 19:31

Re: Farbdreieck mit Delphi6 Professional programmieren
 
Ein Farbdreieck kannst du mit GradientFill() realisieren, allerdings sind da nicht alle Farben vorhanden die es gibt, man kann ein Triangle festlegen und jeder Ecke eine Farbe zuweisen. Geht aber nur ab Win2000 und Win98.

Delphi-Quellcode:
function GradientFill(hdc: HDC; pVertex: PTriVertex; dwNumVertex: DWORD; pMesh: Pointer; dwNumMesh: DWORD; dwMode: DWORD): Boolean; stdcall; external 'gdi32.dll' name 'GdiGradientFill';

type
  PTRIVERTEX = ^TTRIVERTEX;
  TTRIVERTEX = packed record
    x, y: Integer;
    Red, Green, Blue, Alpha: Word;
  end;

{$R *.dfm}

procedure TForm1.FormPaint(Sender: TObject);
const
  VertexCount = 3;
var
  Vertex: array[0..VertexCount - 1] of TTriVertex;
  Triangle: TGradientTriangle;
begin
  // Punkt 1
  Vertex[0].x := 10;
  Vertex[0].y := 10;
  Vertex[0].Red := $FF00; // 255 shl 8, siehe beschreibung im PSDK
  Vertex[0].Green := 0;
  Vertex[0].Blue := 0;
  Vertex[0].Alpha := 0;
  // Punkt 2
  Vertex[1].x := 200;
  Vertex[1].y := 150;
  Vertex[1].Red := 0;
  Vertex[1].Green := $FF00; // 255 shl 8, siehe beschreibung im PSDK
  Vertex[1].Blue := 0;
  Vertex[1].Alpha := 0;
  // Punkt 3
  Vertex[2].x := 50;
  Vertex[2].y := 200;
  Vertex[2].Red := 0;
  Vertex[2].Green := 0;
  Vertex[2].Blue := $FF00; // 255 shl 8, siehe beschreibung im PSDK
  Vertex[2].Alpha := 0;
  // Ein Triangle aus den 3 punkten erstellen
  Triangle.Vertex1 := 0;
  Triangle.Vertex2 := 1;
  Triangle.Vertex3 := 2;
  // Zeichnen
  GradientFill(Canvas.Handle, @Vertex[0], VertexCount, @Triangle, 1, GRADIENT_FILL_TRIANGLE);
end;

sttooheavy 27. Jun 2004 08:27

Re: Farbdreieck mit Delphi6 Professional programmieren
 
du saugst dir n template von

http://www.delphigl.com/download.php?cat=1

ich würd des drittletzte für api und des letzte für die vcl verwenden.

dann gibts da nen bereich wo sowas mit rendern auskommentiert ist, dort fügst du dencode von lars middendorf ein

und schau dir'n paar tuts auf der seite an, dann verstehst du auch den code im template

greets


//edit:vcl+api vertauscht

tommie-lie 27. Jun 2004 10:53

Re: Farbdreieck mit Delphi6 Professional programmieren
 
@w3seek: :roll:

Hier gibt's ein einfaches OpenGL-Tutorial. Das Ergbnis ist zwar ein Quadrat, aber mit Lars' Code (laternativ mit ein wenig Forscherdrang ;-)) kann man da auch ein Dreieck raus machen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz