![]() |
Re: Grafiken
Zitat:
|
Re: Grafiken
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
@ lbccaleb : hab' noch eins, keine lineare Teilung, Positionen als Konstanten gespeichert, 0..100 |
Re: Grafiken
Danke an euch alle! :thumb:
Ich werde mir mal die Beispiele anschauen und wenn ich Fragen habe, werde ich sie hier Posten! Ich wollte einfach nur den Zeiger Zeichnen und den Rest per Image Einladen! Kann ich dann den/die gleichen Code/s nehmen? |
Re: Grafiken
Naja du musst das ganze event. schon deinen Bedürfnissen anpassen, aber hier wurden ja gute Bsp. gepostet mit welchen die Umsetzung für dich kein Problem sein sollte.
|
Re: Grafiken
Zitat:
Delphi-Quellcode:
aus einer Datei auf der Festplatte. Des Weiteren könntest du die Grafik aus einer Ressource laden oder per TImage-Komponente fest in dein Programm mit einbinden.
Bitmap.LoadFromFile({...});
In der Zeichenroutine kannst du dieses Hintergrund-Bitmap dann per
Delphi-Quellcode:
auf die Zeichenfläche malen. Anschließend musst du dann natürlich noch den Zeiger malen. Lösungen dafür hast du ja bereits bekommen.
Canvas.Draw({..});
mfg Edit: Der Rote Kasten macht Weihnachtsurlaub? ;-) |
Re: Grafiken
Hi,
ich danke euch rechtherzlich! Ich werde es jetzt mal ausprobieren und bei Fragen - Post hier im Forum! Falls ich nicht noch was bis Silvester schreibe, wünsche ich euch einen Guten Rutsch ins Neue Jahr, und vorallem Gesundheit und Erfolg! |
Re: Grafiken
Zitat:
Hintergrund ist eine Bitmap (in einem TImage), der Zeiger wird entsprechend der Umrechnung / Skalierung auf dem Canvas gezeichnet. |
Re: Grafiken
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 ;-)
|
Re: Grafiken
Hallo,
@Patti: Wie meinst du das mit Bitmap.LoadFromFile? Und wie soll ich das Bild dann aufs Canvas Malen? Kannst du nen Beispiel Schreiben? (Bitmap: test.bmp/ Canvasfläche TPaintbox oder Timage)??? Ich blick da net durch :wall: :wall: Vielen Dank im Voraus |
Re: Grafiken
Liste der Anhänge anzeigen (Anzahl: 1)
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:
Delphi-Quellcode:
Anschließend musst du das Bitmap noch im OnCreate-Ereignis deines Formulars erzeugen und das entsprechende Bild von der Festplatte laden:
private
{ Private-Deklarationen } HintergrundBild : TBitmap; //..
Delphi-Quellcode:
Außerdem solltest du das TBitmap im OnDestroy deines Formulars wieder freigeben:
var P : TFileName;
begin //-- Self.DoubleBuffered := true; // damit es nicht so flackert // HintergrundBild := TBitmap.Create; // p := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'hintergrund.bmp'; // if FileExists(p) then HintergrundBild.LoadFromFile(p) else MessageDLG('Bild-Datei "hintergrund.bmp" im Programm-Ordner nicht gefunden!',mtError,[mbOK],0);
Delphi-Quellcode:
Jetzt musst du das Bild in der Zeichenroutine nur noch auf die Canvas zeichnen, etwa so:
HintergrundBild.Free;
Delphi-Quellcode:
Und dann natürlich noch den Zeiger, aber das hatten wir ja oben schon.
PaintBox1.Canvas.Draw(0,0,HintergrundBild);
Das Bitmap sollte genauso groß sein wie die PaintBox, alles andere macht kaum Sinn ;-) Wenn du das Programm weitergeben willst, musst du auch immer die Datei, welche das Hintergrundbild beinhaltet, mitliefern und sie muss sich im Ordner der EXE-Datei befinden. Dies könntest du umgehen, indem du das Bild in eine unsichtbare TImage-Komponente lädst oder aus einer Ressource holst. Wenn du Fragen hast, dann kannst du in der DP mal nach diesen Stichwörtern suchen oder hier einfach noch mal nachfragen. Hab das Programm inklusive Bild-Datei und Quelltext mal in den Anhang. Viel Spaß ;-) |
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