Eigene Grafik soll Button werden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Eigene Grafik soll Button werden

    Hallo!
    Alles was ich mir bisher gedacht habe zu der Aufgabe -in der Mitte ein runder Button - und da herum ein Kreis mit mehreren Auswahlbutton) - ein Bild -sehr unvollkommen. hänge ich an.)
    hat nicht funktioniert. Hat jemand eine Idee und kann mir einen Schubs geben - wie ich das realisieren kann.
    Vielen Dank und viele Grüße - Chris
    test.png
  • Es gibt mehrere Herangehensweisen wie Du das realisierst.

    Die perfekteste wäre wahrscheinlich wenn du für jeden Buttonteil einen minimal anderen Blauwert nimmst. Also nur so, dass man es mit dem auge nicht erkennen kann. Dann ermittelst du bei einem Touch die Position des Touch und holst di dann die Farbe aus dem Image an dieser Stelle. Daraus erfährst du dann welche Funktion gewünscht ist.

    Eine weitere nicht ganz so schöne Möglichkeit wäre über dein ImageView einfach beliebig viele große und kleine transparente Buttons zu legen, die die Flächen entsprechend möglcihst genau abdecken und dann halt die notwendigen Methoden aufrufen.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Claus' Vorgehen mit den unterschiedlichen Farben habe ich auch bei einem Farbrad zur Auswahl einer Farbe benutzt. In Deinem Fall würde ich auf Basis der Polarkoordinaten im Hit-Test das richtige Segment ermitteln: Radius und Winkel sind ja genau die bestimmenden Größen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Bitte nicht böse sein, aber über den Farbwert? Das ist doch Pfusch.
    Als "quick and dirty" lasse ich das gelten.

    Das ist doch mit ein bisschen Kreisberechnung zu lösen.
    Eine Ableitung von NSView erstellen und dort seine Elemte z.B. Bilder zeichnen lassen.

    Mit dem Klick den Punkt abholen und schauen, ob er im Kreisausschnitt liegt.

    Das ist nicht die schnellste Lösung, aber dafür korrekt.
    Natürlich ist es etwas Arbeit den visuellen Teil für "mouse down" etc. zu implementieren.

    Viele Grüße
  • little_pixel schrieb:

    Bitte nicht böse sein, aber über den Farbwert? Das ist doch Pfusch.
    Als "quick and dirty" lasse ich das gelten.

    Das ist doch mit ein bisschen Kreisberechnung zu lösen.
    Eine Ableitung von NSView erstellen und dort seine Elemte z.B. Bilder zeichnen lassen.

    Mit dem Klick den Punkt abholen und schauen, ob er im Kreisausschnitt liegt.

    Das ist nicht die schnellste Lösung, aber dafür korrekt.
    Natürlich ist es etwas Arbeit den visuellen Teil für "mouse down" etc. zu implementieren.

    Viele Grüße
    also ich war jetzt davon ausgegangen, dass die Trennlinien zwischen den teilbuttons nicht gerade sein sollen. Dann bist du mit deinen Mathematischen Lösungen am Ende. Was an den farbwerten Fusch sein soll verstehe ich nicht, da damit jede beliebige noch so unregelmäßige Form abgedeckt werden kann.

    Weiterhin bist du damit extrem transparent was Veränderungen angeht. Du kannst den Button jederzeit beliebig ändern in Form Größe etc. Du Must nur den richtigen Farbwert für die entsprechende Funktion beachten.

    Also ich findecdie Lösung eigentlich genial.


    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • MyMattes schrieb:

    In Deinem Fall würde ich auf Basis der Polarkoordinaten im Hit-Test das richtige Segment ermitteln: Radius und Winkel sind ja genau die bestimmenden Größen.
    Alternative Methode ("viele Wege führen nach Rom"): Die entsprechenden Segmente als NSBezierPath zeichnen und dann ein Hit-Testing mit dessen Methode containsPoint: durchführen...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.