Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   256 Farben (https://www.delphipraxis.net/209696-256-farben.html)

juniorA 11. Jan 2022 13:20

AW: 256 Farben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das Ergebnis sollen die Farben der Farbtabelle im Anhang werden.
Der Wert 1 steht für weis und 255 für schwarz.

KodeZwerg 11. Jan 2022 13:34

AW: 256 Farben
 
hallo, schau mal dein bild an, dort steht alles was benötigt ist. (farbwert in hex = 3 byte)

juniorA 11. Jan 2022 13:49

AW: 256 Farben
 
Mit den HEX-Werte habe ich gesehen. Heist es jetzt alle 256 HEX wert als Konstante ablegen oder gibt es bei den Werte einen festes System?

freimatz 11. Jan 2022 14:30

AW: 256 Farben
 
Wie kommst Du auf die 256 - oder 0 oder 255?
In der farbigen Grafik sehe ich da nichts davon. Soll die Anordnung auch so sein wie in der Grafik? Willst Du die Grafik mit einem Programm erzeugen?

KodeZwerg 11. Jan 2022 14:50

AW: 256 Farben
 
Zitat:

Zitat von juniorA (Beitrag 1500459)
Mit den HEX-Werte habe ich gesehen. Heist es jetzt alle 256 HEX wert als Konstante ablegen oder gibt es bei den Werte einen festes System?

Das "feste System" bist Du :-)

In Delphi würde man es eventuell so machen:

Delphi-Quellcode:
const
  Farben : array [0..255] of TColor = (
    $EEEEEE,
    $0D0D0D,
    // usw usw usw usw bis du insgesamt alles hast was du brauchst
    );
Dann kannst du über dieses Array bequem wählen.

Delphi-Quellcode:
var
  Farbe : TColor;
begin
  Farbe := Farben[123];

himitsu 11. Jan 2022 15:13

AW: 256 Farben
 
Und da es hier ein paar Muster in den Zahlenfolgen gibt, kann man mit einer Hand voll Schleifen auch die 256 Farbwerte füllen/generieren lassen.

Blup 12. Jan 2022 10:37

AW: 256 Farben
 
Die Grafik "Farbtabelle" hat übriegens 276 Einträge, wenn ich mich mal nicht verzählt hab ...

sakura 12. Jan 2022 10:48

AW: 256 Farben
 
Zitat:

Zitat von Blup (Beitrag 1500492)
Die Grafik "Farbtabelle" hat übriegens 276 Einträge, wenn ich mich mal nicht verzählt hab ...

Sehr aufmerksam ;-)

...:cat:...

Blup 12. Jan 2022 15:27

AW: 256 Farben
 
Mal so zur Entspannung:
Delphi-Quellcode:
unit Main;

interface

uses
  Vcl.Graphics, Vcl.GraphUtil, Vcl.Forms, System.Classes, Vcl.Controls, Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    procedure FormCreate(Sender: TObject);
    procedure PaintBox1Paint(Sender: TObject);
  private
    { Private-Deklarationen }
    FColorArr: array of TColor;
    procedure DrawColorItem(ACanvas: TCanvas; x, y: Integer; AColor: TColor);
    procedure DrawColorTabelle(ACanvas: TCanvas; x0, y0: Integer);
    procedure InitColorArr;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  InitColorArr;
end;

procedure TForm1.DrawColorItem(ACanvas: TCanvas; x, y: Integer; AColor: TColor);
const
  {Größe des Quadrat}
  Cdx1 = 20;
  Cdy1 = 20;
  {relative Position der Schrift}
  Cdx2 = 24;
  Cdy2 = 02;
begin
  {Umrandung}
  ACanvas.Pen.Style := psSolid;
  ACanvas.Pen.Mode := pmCopy;
  ACanvas.Pen.Color := clBlack;
  ACanvas.Pen.Width := 1;
  {Füllung}
  ACanvas.Brush.Style := bsSolid;
  ACanvas.Brush.Color := AColor;
  {Quadrat}
  ACanvas.Rectangle(x, y, x + Cdx1, y + Cdy1);

  {Hintergrund transparent}
  ACanvas.Brush.Style := bsClear;
  {Schrift}
  ACanvas.Font.Color := clBlack;
  ACanvas.Font.Size := 9;
  ACanvas.Font.Name := 'Courier New';
  ACanvas.TextOut(x + Cdx2, y + Cdy2, Copy(ColorToWebColorStr(ColorToRGB(AColor)), 2));
end;

procedure TForm1.DrawColorTabelle(ACanvas: TCanvas; x0, y0: Integer);
const
  {Breite der Spalten und Höhe der Zeilen}
  Cdx = 80;
  Cdy = 24;
var
  x, y, n: Integer;
begin
  n := 0;
  for x := 0 to 7 do
  begin
    if (x = 0) or (x = 7) then
    begin
      for y := 3 to 32 do
      begin
        DrawColorItem(PaintBox1.Canvas, x0 + x * Cdx, y0 + y * Cdy, FColorArr[n]);
        Inc(n);
      end;
    end
    else
    begin
      for y := 0 to 35 do
      begin
        DrawColorItem(PaintBox1.Canvas, x0 + x * Cdx, y0 + y * Cdy, FColorArr[n]);
        Inc(n);
      end;
    end;
  end;
end;

procedure TForm1.InitColorArr;
var
  i: Integer;
begin
  SetLength(FColorArr, 276);

  for i := Low(FColorArr) to High(FColorArr) do
    FColorArr[i] := TColor(Random(256*256*256));
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  DrawColorTabelle(PaintBox1.Canvas, 30, 10);
end;

end.

freimatz 13. Jan 2022 12:02

AW: 256 Farben
 
Du sollst doch nicht seine Hausaufgaben lösen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.
Seite 2 von 3     12 3      

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