Forum: Multimedia
by patti,
31. Dez 2009
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...
Forum: Multimedia
by patti,
31. Dez 2009
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
Forum: Multimedia
by patti,
30. Dez 2009
Ich versteh leider immer noch nicht genau, worauf du hinaus willst.
Der Radius des Kreises entspricht doch der Länge des Zeigers :gruebel:
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...
Forum: Multimedia
by patti,
30. Dez 2009
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:
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...
Forum: Multimedia
by patti,
30. Dez 2009
Das ist kein Problem. Eigentlich hatte ich dir oben schon einpaar Stichworte genannt, die dir dank Hilfe und Suche schonmal weiterhelfen hätten sollen, aber gut: Hier ist mal eine etwas ausführlichere "Anleitung";
Zunächst deklarierts du im private-Bereich deines Formulars eine Instanz des Typs TBitmap:
private
{ Private-Deklarationen }
HintergrundBild : TBitmap;
//..
Forum: Multimedia
by patti,
29. Dez 2009
Ok, war mir bloß nicht ganz sicher, weil ich deinen Beitrag mehr oder weniger nur überflogen hatte und mich das oldPixels-Array etwas verwundert hat ;-)
Forum: Multimedia
by patti,
28. Dez 2009
Das ist generell schon möglich. Ich kenne jetzt den Quelltext und die Arbeitsweise von markus5766h nicht, aber so wie ich es gemacht habe (siehe oben) musst du dir den Hintergrund erstmal nur in ein Bitmap laden, welches am besten genauso groß ist, wie deine Zeichenfläche. Laden kannst du ein Bild per
Bitmap.LoadFromFile({...});
aus einer Datei auf der Festplatte. Des Weiteren könntest du...
Forum: Multimedia
by patti,
27. Dez 2009
Obwohl schon eine mögliche Lösung gepostet wurde, hab ich gerade mal kurz was zusammengetippt, das funktionieren sollte. Habe für die grafische Ausgabe eine PaintBox verwendet. Die Konstante "cMaxValue" regelt, bei welchem Wert für "Value" der Zeiger voll ausschlägt, sich also ganz rechts befindet. In dem Beispiel wird der Wert von "Value" per Timer geändert, damit man sieht, wie sich der Zeiger...
Forum: Multimedia
by patti,
27. Dez 2009
Woran hängst du denn im Moment? Liegt es am Zeichnen überhaupt oder am Berechnen des Winkels etc.? Einpaar zusätzliche Informationen wären hilfreich...
mfg