![]() |
Re: Grafiken
Hi Patti,
das ist echt nett von dir! Ich hatte nämlich schonmal rumexperementiert, aber Irgendwie war das Bitmap immer Vordergrund und der Zeiger war weg! Allerdings hatte ich es mit Image1.picture.LoadfromFile() gemacht. Allerdings Habe ich noch eine Frage: Wie kann ich in deinem Beispiel den Radius Ändern? oder Auch die Länge des Zeigers? (Kannst du das eventuell (wenn du Lust hast) in Constanten Speichern? In etwa so: Radius = xxx oder Zeigerl = xxx ???) Ich blicke da zwar mittlerweile so halbwegs durch, aber Irgendwie Habe ich das mal mit Cos und Sin gemacht! Aber halt ohne Hintergrund! Wenn du das Machen könntest wäre das richtig nett! :?: :?: Viele Dank im Voraus |
Re: Grafiken
Im Moment bestimmt die Breite der PaintBox die Länge des Zeigers, da dieser immer die halbe Breite lang sein sollte. Du musst dann dementsprechend nur diese beiden Zeilen anpassen:
Delphi-Quellcode:
Denn dort werden ja die "End-Koordinaten" für den Zeiger bestimmt. Das "pbVUMeter.Width div 2" kannst du durch die von dir gewünschte Länge ersetzen. Tipp: Mach dir auf einem Stück Papier eine kleine Skizze, dann siehst du relativ schnell, wie die Koordinaten berechnet werden müssen und wie die Formeln zu Stande kommen.
x := (pbVUMeter.Width div 2) + Round(cos(d)*(pbVUMeter.Width div 2));
// y := pbVUMeter.Height - Round(sin(d)*(pbVUMeter.Width div 2)); Ich verstehe nicht ganz, was du mit dem Radius meinst. Wenn du den Radius des Kreises meinst: Der wird ja durch das Hintergrund-Bild bestimmt. Er wird ja nicht vom Programm aus gezeichnet, sondern ist "in der Bitmap drin" :gruebel: mfg |
Re: Grafiken
Es giebt auch ein Tacho bei TMS.
Ich weiß nicht ob du TMS kennst, aber ich würde es dir empfelen. Das ist ein Erweiterungspaket, das super objekte mit sehr guter Grafik, wie Windows 7 hat. :-D Geh mal unter ![]() An der Seite kannst du dein Delphi auswählen und downloaden. In der zip-Datei ist eine Datei, die du mit Delphi öffnest und insterlierst und complimierst. Falls die Objekte noch nicht gehen und eine Fehlermeldung kommt: ... nicht gefunden, musst du alle Datein der Zip-Datei in den Ordner: '...Borland\Delphi7\lib' kopieren. Auf der Seite kann man auch noch mehr Erweiterungspakete downlaoden. Viele Grüße und guten Rutsch :-D Miguel |
Re: Grafiken
Mit dem Radius meine ich den Radius der den Zeiger beschreibt! Ich könnte ja auch einen ganz kleinen Radius wählen um einen Vollkreis(wie beim Tacho) zu beschreiben.
@mb1696 Ich besitzte leider bis jetzt kein Delphi! Ich überlege mir ob ich mir vielleicht Delphi 7 hole. Die Demo für Delphi 2010 habe ich nur der Will bei der Installation was Downloaden, nur ich habe kein I-Net an dem Rechner --> hat jemand eine Überbrückungs Idee? :?: :!: :?: |
Re: Grafiken
Ich versteh leider immer noch nicht genau, worauf du hinaus willst.
Zitat:
Kann es sein, dass du den Winkel meinst, den der Zeiger überstreicht? Im Moment wären das ja 180°, von links bis rechts. Das könnte man natürlich auch noch ändern und auf einen anderen Wert setzen, allerdings müsste der Zeiger-Ursprung natürlich dementsprechend mittig im Bild liegen und nicht am unteren Rand, so wie es im Moment der Fall ist. Einfach noch mal genauer erklären, um was es geht... mfg |
Re: Grafiken
ja genau das meine ich! :thumb:
Der Nullpunkt soll nun nicht mehr in der Waagerechten liegen! Also es Solle ein Kreis von 270° oder behr beschrieben werden! Und dass soll per Constante festgelegt werden |
Re: Grafiken
Hast du schon selber etwas versucht? Verstehst du zumindest den Quelltext, den du bisher bekommen hast? Der nächste Schritt ist programmiertechnisch nicht mehr allzu schwer, nur musst du halt etwas mehr berechnen und dich etwas mit Sinus und Cosinus auskennen, dann sollte auch das machbar sein. Hast du dir schonmal Gedanken gemacht?
mfg |
Re: Grafiken
Gedanken ja und den Quelltext Verstehe ich auch!
Kannst du mir denn nicht die Entsprechende Quelltext Zeile eben umändern? Bitte :?: :cry: Ich habe noch den Folgenden Quelltext zum Zeichnen:
Delphi-Quellcode:
Kann ich den einfach gegen dein Zeiger Zeichnen Austauschen? Nur weis ich hier Net wie Ich den Zeiger um Mehr als 180° Laufen lassen kann, und wie ich die Position bestimmen kann! Vielleicht ist dein Umändern doch besser!
procedure anaShowDisplay(dsp: TPaintBox; aWert: Integer);
const kStrich = 5; lStrich = 8; anzStriche = 21; sWinkel = 1.05; iRadius = 75; zRadius = 40; zStrich = 48; zBereich = 1000; zTeilung = 250; var dWinkel, aWinkel: Single; sWert: Integer; dText: string; x, y: Integer; x1, y1, x2, y2: Single; i: LongInt; function xD(x: Single): Integer; begin Result := Round(dsp.ClientWidth * (x / 100) + dsp.ClientWidth / 2); end; function yD(y: Single): Integer; begin Result := dsp.ClientHeight - Round(dsp.ClientHeight * ((y-20) / 80)); end; dsp.Canvas.Pen.Color := clRed; aWinkel := sWinkel + ((zBereich-aWert) / zBereich) * sWinkel; x1 := Cos(aWinkel) * zRadius; y1 := Sin(aWinkel) * zRadius; x2 := x1 + Cos(aWinkel) * zStrich; y2 := y1 + Sin(aWinkel) * zStrich; dsp.Canvas.MoveTo(xD(x1),yD(y1)); dsp.Canvas.LineTo(xd(x2),yD(y2)); |
Re: Grafiken
Liste der Anhänge anzeigen (Anzahl: 2)
OK, ausnahmsweise :)
Wenn der Code, den du gepostet hast, funtkioniert, dann kannst du ihn natürlich genauso verwenden. Ich hab meinen Code mal angepasst, man kann jetzt per Konstanten festlegen, bei welchem Winkel der Zeiger startet (wo also "0" ist) und welchen Winkel er maximal überstreicht. Außerdem hab ich dem Zeiger und der "Tacho-Scheibe" ein kleines Antialiasing verpasst, damit es "smooth" ausschaut (kann man per Konstante an- und ausschalten). Allerdings wird die Tacho-Scheibe jetzt wieder vom Programm gezeichnet, befindet sich also nicht in der Hintergrund-Bitmap. Das solltest du jedoch auch wieder ändern können, wenn du dir einbisschen Zeit nimmst um den Quelltext wirklich zu verstehen. Eine Sache noch: Ich hoffe, dir ist bewusst, dass du das jetzt nicht wirklich selber programmiert hast und du so vermutlich auch nicht viel lernen wirst. Daher mein dringender Tipp: schau dir den Quelltext an und nimm dir etwas Zeit, um ihn zu verstehen. Normalerweise bekommst du hier in der DP nicht immer einen kompletten Quelltext von anderen geschrieben :!: |
Re: Grafiken
Hi Patti,
du bist der Beste (wie das Gesamte Forum)!! :thumb: :thumb: :thumb: :thumb: :thumb: Ich weis dass ich net Selber Programmiert habe aber der Quelltext weird mir Helfen das Später selber zu machen! :!: Ich bin z.Z noch in der Lernphase von Delphi! Ich danke dir rechtherzlich und wünsche dir und dem Gesamtem Forum einen Guten Rutsch --> echt nettes Forum :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 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