AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Farbdreieck mit Delphi6 Professional programmieren
Thema durchsuchen
Ansicht
Themen-Optionen

Farbdreieck mit Delphi6 Professional programmieren

Ein Thema von Christian18 · begonnen am 26. Jun 2004 · letzter Beitrag vom 27. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:41
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
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:44
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
Nico Müller
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#3

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:50
Du willst doch ein Dreieck oder?

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


alle "farben" oder auch schwarz und weiß?
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#4

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:51
@Nicodius: hat jetzt aber gutwegs garnix mit OpenGl zu tun... Eher Canvas...

http://www.og4all.de/meindphase, sCrAPt
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:54
Zitat:
aber RGB und nacher mit Canvas.Pixels[i,j] := RGB(e,f,g);
hab ich je opengl erwähnt?
Nico Müller
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#6

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:56
Zitat von Christian18:
es soll dazu OpenGL benutzt werden


http://www.og4all.de/meindphase, sCrAPt
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 14:58
sorry
Nico Müller
  Mit Zitat antworten Zitat
LarsMiddendorf

Registriert seit: 4. Sep 2003
Ort: Hemer
104 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 15:02
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;
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#9

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 17:58
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???
  Mit Zitat antworten Zitat
w3seek
(Gast)

n/a Beiträge
 
#10

Re: Farbdreieck mit Delphi6 Professional programmieren

  Alt 26. Jun 2004, 19:31
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.dllname '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;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:08 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