Ergebnis 1 bis 7 von 7

Thema: HTML5: Rectangle mit ID?

  1. #1

    HTML5: Rectangle mit ID?

    Weiß jemand ob es möglich ist, Rectangles in einem Canvas zu identifizieren?
    Oberflächlich betrachtet macht das Canvas-Element den Anschein einer Maltafel. Doch was, wenn ein oder mehrere Objekte (Linien, Quadrate etc.) angesprochen und nachträglich bearbeitet werden sollen? Etwa das Speichern eines Zustande,s oder ein OnClick-Event oder ähnliches.

    Ich bin für jede Form von Hilfe dankbar.

  2. #2
    Eine schnelle Suche erweckt bei mir den Eindruck, dass ist noch alles recht bodenständig und du wirst wohl nicht drum rum kommen die clearRect() Methode zu benutzen
    Sicher die dramatischste Möglichkeit wäre eine Liste mit den gezeichneten Elementen zu speichern und bei einer Änderung dieser Liste eine eigene redraw()-Methode zu implementieren.

  3. #3
    Lies dich mal in SVG ein, das ist wahrscheinlich eher, was du willst.

  4. #4
    das dachte ich mir auch schon. wär halt ganz cool zu erfahren ob das mit normalen rects auch funktioniert

    edit:
    Zitat Zitat
    Sicher die dramatischste Möglichkeit wäre eine Liste mit den gezeichneten Elementen zu speichern und bei einer Änderung dieser Liste eine eigene redraw()-Methode zu implementieren.
    die idee find ich gar nicht mal so schlecht. hab mich inzwischen aber denk ich für svg entschieden. so kann ichs wie ein herkömmliches html element handhaben. trotzdem danke für die schnellen antworten

    Geändert von ive beaten tetris (22.01.2012 um 22:28 Uhr)

  5. #5

    "Vibration of Nature" - It's a long story
    stars_mod
    Das was du suchst sind Features einer deklarativen Sprache, so wie HTML oder SVG.

    Canvas ist (meines Wissens nach) das einzige Element in Web Technologien dessen Erscheinungsbild imperativ (d.h. durch das durchlaufen eines Programmes) bestimmt wird.
    Deswegen muss beim Canvas, damit das Bild aktualisiert wird, das ganze Programm zum Zeichnen erneut ausgeführt werden.
    Das macht das Canvas auf der einen Seite flexibler, dafür aber auch umständlicher.

    In dem Sinne würde ich auch sagen, dass SVG für dich wahrscheinlich das richtige ist.
    Ansonsten, wenn du vollständig mit Rectangles auskommst, kannst du es auch direkt mit HTML und <div> Elementen probieren. Einfach über CSS 'position: absolute' mit pixel coordinaten und background image für bilder (sogar mit clipping mit background-position). Klappt mittlerweile gut von der Performance.

  6. #6
    Das Problem mit Pixelkoordinaten ist doch, dass eine gewisse Auflösung vorausgesetzt wird. Ansonsten liegen die Elemente außerhalb des Fensters.

    Andererseits: Man kann nicht alles haben, hu?

  7. #7

    "Vibration of Nature" - It's a long story
    stars_mod
    Zitat Zitat von YoshiGreen Beitrag anzeigen
    Das Problem mit Pixelkoordinaten ist doch, dass eine gewisse Auflösung vorausgesetzt wird. Ansonsten liegen die Elemente außerhalb des Fensters.

    Andererseits: Man kann nicht alles haben, hu?
    Joa, sich der Bildschirmgröße anzupassen mit canvas ist umständlicher. Aber da gibt es auch zwei Möglichkeiten:
    Du kannst die canvas dimensionen anpassen (d.h. die Anzahl Pixel für Höhe und Breite ändern) und du kannst das gesamte Canvas-Element skalieren, ohne die Auflösung zu ändern (in dem Fall wird der Kram allerdings weichgezeichnet).
    Ansonsten hast du ja ein Program, dass den Inhalt des Canvas zeichnet und dieses Program kann dies auch abhängig von der Canvas größe machen. Demnach kann sich eine Canvas-Darstellung genauso perfekt an die Bildschirmgröße anpassen wie eine normale HTML Seite. Es ist halt nur umständlicher.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •