Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponentensuche: Kreisrunde Led Anzeige / Display (https://www.delphipraxis.net/96094-komponentensuche-kreisrunde-led-anzeige-display.html)

kurtm1 18. Jul 2007 14:45


Komponentensuche: Kreisrunde Led Anzeige / Display
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich suche für ein Projekt eine Komponente die im wesentlichen dem angehängten Bild gleichen soll:


Der ganze Ring soll gedreht werden können. Mir ist klar dass dies alles auch mit Bildern machbar wäre, die ständigen Bildtransformationen sind aber sicher nicht optimal für die CPU Belastung usw.

mkinzler 18. Jul 2007 14:48

Re: Komponentensuche: Kreisrunde Led Anzeige / Display
 
http://torry.net/pages.php?id=120

bitsetter 19. Jul 2007 00:22

Re: Komponentensuche: Kreisrunde Led Anzeige / Display
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von kurtm1
Der ganze Ring soll gedreht werden können. Mir ist klar dass dies alles auch mit Bildern machbar wäre, die ständigen Bildtransformationen sind aber sicher nicht optimal für die CPU Belastung usw.

Hi,

man könnte zur Not das Ganze auch selber zeichnen:
Delphi-Quellcode:
procedure Ring(cav: TCanvas; AussenRad, InnenRad, GradA, GradB: integer);
var
  AussenDM: integer;
begin
  AussenDM := AussenRad * 2;
  with cav do
  begin
    Brush.Color := clGray;
    Pen.Color := Brush.Color;
    Pie(0, 0, AussenDM, AussenDM, trunc(AussenRad + AussenRad * sin(GradA / 180 * Pi)),
      trunc(AussenRad - AussenRad * sin((90 - GradA) / 180 * Pi)), trunc(AussenRad + AussenRad * sin(GradB / 180 * Pi)),
      trunc(AussenRad - AussenRad * sin((90 - GradB) / 180 * Pi)));
    Brush.Color := clWhite;
    Pen.Color := Brush.Color;
    Ellipse(AussenRad - InnenRad, AussenRad - InnenRad, AussenRad + InnenRad, AussenRad + InnenRad);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Width := 200;
  Image1.Height := 200;
  Ring(Image1.Canvas, 100, 67, 30, 45);
end;

Robert Marquardt 19. Jul 2007 06:37

Re: Komponentensuche: Kreisrunde Led Anzeige / Display
 
Es duerfte effizienter sein eine vorgefertigte Bitmap mit den kompletten Ring nehmen und die Luecke malen.
Insgesamt duerfte JvLED aus der JVCL fast die Komponente sein, die du brauchst. Der Unterschied duerfte nur die Erstellung der Bitmaps sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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