Transparenter Cursor



  • Hallo,

    Ich schreibe gerade ein Prog. um Übertragungsfunktionen zu berechnen und darzustellen. Das ist auch alles fertig und nicht wirklich schwer.
    Jetzt wollte ich noch einen Cursor generieren mit dem man auf der Funktion langlaufen kann, um sich die Werte der x- und y-Achse anzeigen zu lassen.
    Das ist auch kein Problem.

    Wenn ich aber mehrere Funktionen zeichne die dicht bei einander liegen, dann den Cursor generiere und ihn auf der Funktion langlaufen lassen, dann löscht er, bzw. übermalt er, die anderen Funktionen.

    Der Cursor, den ich erzeuge, ist ein einfacher Kreis der auf der Funktion lang läuft.

    Gibt es eine Möglichkeit den Kreis transparent zu machen? Oder wie kann ich das realisieren?

    Vielen Dank im Voraus für die Hilfe

    Grüße

    sub



  • Wenn du den Kreis so transparent machst, daß er die Nachbarfunktionen nicht mehr stört, ist er unsichtbar 😉 Du solltest dir eher den Bildbereich, die der Cursor übermalt hat, irgendwo speichern und bei der nächsten Bewegung wiederherstellen.



  • Hallo

    Wenn du den Kreis so transparent machst, daß er die Nachbarfunktionen nicht mehr stört, ist er unsichtbar

    Also der Kreis muß ja eine bestimmte Größe haben, um überhaupt sichtbar zu sein.

    Du solltest dir eher den Bildbereich, die der Cursor übermalt hat, irgendwo speichern und bei der nächsten Bewegung wiederherstellen.

    Das mache ich auch, aber nur für die Funktion auf der der Cursor gerade läuft.
    Wenn ich alle Funktionen neu zeichnen würde -ich habe es ausprobiert- dann ist das Prog zu langsam, wenn ich eine bestimmte Anzahl von Funktionen gezeichnet habe.
    Ich habe das Zeichnen schon auf 10 Funktionen begrenzt. Wenn ich 3 oder 4 Funktionen zeichne und diese alle bei einer Cursorbewegung neuzeichnen würde, dann dauert die Cursorbewegung extrem lange. Der Cursor muß 1025 Punkte durchlaufen. Dies entspricht einer Bandbreite von 3 MHz, die ich benötige.

    Also so funktioniert es nicht, meiner Meinung nach.

    Oder habe ich dich falsch verstanden?

    Grüße



  • Hallo

    Du must die Funktionen erstmal in ein TBitmap im Hintergrund zeichnen. Zur Ausgabe auf das eigentliche TImage must du nun nur noch von Bitmap zu Image kopieren.
    Nun kannst du noch den Cursor auf das Image zeichnen. Muß der Cursor bewegt werden, brauchst du nun nur noch die alte Stelle des Cursors mit dem entsprechenden Inhalt aus dem Bitmap überschreiben und den Cursor danach an die neue Stelle zeichnen.

    bis bald
    akari



  • Hä? Neuzeichnen? Was? Völliger Blödsinn.

    @sub-elektro: Nutzt du den Image-Editor von Borland, der beim BCB dabei ist? Wenn ja, dann schau mal im Editor unten links. Da gibt es 4 Farben. Du wählst die oben links aus und hast damit die transparente Farbe. Male damit jetzt da, wo es transparent sein soll und speichere das Ergebnis. Dann viel Spaß mit deinem Cursor. 🙂



  • Hallo

    Wer redet den von einer Ressource?

    Der Cursor, den ich erzeuge, ist ein einfacher Kreis der auf der Funktion lang läuft.

    Es geht nicht um einen Mauszeiger. Sondern um reine Canvas-Operationen. Die zur Laufzeit wieder teilweise rückgangig gemacht werden sollen.

    bis bald
    akari


Log in to reply