AGB  ·  Datenschutz  ·  Impressum  







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

Grafiken

Ein Thema von MiniMax · begonnen am 27. Dez 2009 · letzter Beitrag vom 31. Dez 2009
Antwort Antwort
Seite 3 von 3     123   
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#21

Re: Grafiken

  Alt 30. Dez 2009, 14:21
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
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: Grafiken

  Alt 30. Dez 2009, 16:20
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:
x := (pbVUMeter.Width div 2) + Round(cos(d)*(pbVUMeter.Width div 2));
//
y := pbVUMeter.Height - Round(sin(d)*(pbVUMeter.Width div 2));
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.

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"

mfg
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#23

Re: Grafiken

  Alt 30. Dez 2009, 16:50
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.
Geh mal unter http://www.tmssoftware.com/site/advsmoothcontrols.asp
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

Miguel
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#24

Re: Grafiken

  Alt 30. Dez 2009, 17:07
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?
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#25

Re: Grafiken

  Alt 30. Dez 2009, 18:05
Ich versteh leider immer noch nicht genau, worauf du hinaus willst.

Zitat von MiniMax:
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.
Der Radius des Kreises entspricht doch der Länge des Zeigers

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
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#26

Re: Grafiken

  Alt 30. Dez 2009, 18:41
ja genau das meine ich!
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
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Grafiken

  Alt 31. Dez 2009, 12:56
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
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#28

Re: Grafiken

  Alt 31. Dez 2009, 13:47
Gedanken ja und den Quelltext Verstehe ich auch!
Kannst du mir denn nicht die Entsprechende Quelltext Zeile eben umändern? Bitte

Ich habe noch den Folgenden Quelltext zum Zeichnen:

Delphi-Quellcode:
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));
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!
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Grafiken

  Alt 31. Dez 2009, 14:26
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
Miniaturansicht angehängter Grafiken
screenshot2_109.jpg  
Angehängte Dateien
Dateityp: zip vumeter3_173.zip (230,5 KB, 22x aufgerufen)
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#30

Re: Grafiken

  Alt 31. Dez 2009, 14:38
Hi Patti,
du bist der Beste (wie das Gesamte Forum)!!
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
Gruß
MiniMax
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 23:19 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