AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

canvas brush color clBlack geht nicht

Ein Thema von LoZe · begonnen am 29. Dez 2016 · letzter Beitrag vom 29. Dez 2016
 
LoZe

Registriert seit: 27. Dez 2016
Ort: Ulm
40 Beiträge
 
Delphi 12 Athens
 
#4

AW: canvas brush color clBlack geht nicht

  Alt 29. Dez 2016, 16:55
vielen dank für die Antwort,
durch dein nachfragen ist mir aufgefallen das man in dem Form noch die TransparentColor und Value einstellen kann und die war auf Schwarz.

jetzt wird schwarz auch angezeigt.

nur hab ich nur noch das Problem das der Arbeitsspeicher immer mehr wird bis er voll ist und das system einfriert.

Unten mal der ganze Code, es soll dieser Matrix Rain Effekt sein.

Delphi-Quellcode:
unit Unit5;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;

type
  TForm5 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;
  screenx: integer;
  screeny: integer;
  y,x: integer;
  drop: array[0..200] of integer;
  chars: string;
  fsizey,fsizex: integer;
  colums,rows: integer;
  neuerwert: integer;


implementation

{$R *.dfm}

procedure draw();
var
  b1: TBitmap;
  i: integer;
  vertikal: integer;

begin
  b1 := TBitmap.Create;
  b1.SetSize(screenx,screeny);
  b1.Canvas.Brush.Color:=clblack;
  b1.Canvas.FillRect(Rect(0,0,screenx,screeny));

  for i:= 0 to colums do
  begin
    if (drop[i] < rows) and (drop[i] > -1) then
    begin

      form5.Canvas.TextOut(i * fsizex, drop[i] * fsizey, chars[random(length(chars))]);
      neuerwert:= drop[i] + 1;
      drop[i]:= neuerwert;
    end
    else
    begin
      drop[i]:=-1;
    end;
    if (drop[i] = -1) then
    begin
      if random(40) = 1 then
      begin
        drop[i]:= 0
      end;
    end;
  end;

  form5.Canvas.Draw(0,0,b1,$15);
  if y < rows then y:= y + 1;
  if y = rows then y:= 0;


end;

procedure TForm5.FormCreate(Sender: TObject);
var
i: integer;
begin
  form5.Width:= 1920;
  form5.Height:= 1080;
  screenx:= form5.Width;
  screeny:= form5.Height;

  form5.Canvas.Font.Name := 'Segoe UI';
  form5.Canvas.Font.Color := clAqua;
  form5.Canvas.Font.Style := [];
  form5.Canvas.Font.Height := 20;
  form5.Canvas.Brush.Style:=bsClear;
  fsizex:= 10; // Vertikaler Abstand
  fsizey:= 20; // Horizontaler Abstand
  colums:= screenx div fsizex;
  rows:= screeny div fsizey;
  chars:= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*()-_=+`[]{};:?/.,<>\\|';
  y:=0;
  for i:= 0 to colums do
  begin
    drop[i]:= 0;
  end;
end;

procedure TForm5.Timer1Timer(Sender: TObject);
begin
   draw
end;

end.
Chris
  Mit Zitat antworten Zitat
 


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 18:19 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-2025 by Thomas Breitkreuz