Frage

Wie eine Verbesserung (oder jede Operation, die das Bild ändert), an ein Bild angelegt wird, das in Form von Pyramiden gespeichert ist, wird zuerst auf eine bestimmte Pyramidenschicht (anwesender Zoomstufe) angelegt und anschließend auf eine andere Schicht erneut gestattetWenn der Benutzer den Benutzer vergrößern oder herauszoomen oder die Erweiterung auf einmal auf einmal auf die gesamte Pyramide angewendet wird, oder gibt es einen Algorithmus, mit dem man den Effekt der Verbesserung auf andere Pyramidenschichten effizienteiten kann.

Ich möchte wissen, was die beste Art ist, dies zu tun.

War es hilfreich?

Lösung

Sie haben zwei gute Optionen:

    .
  1. Aktion auf die höchste Auflösung anwenden und niedrigere Auflösungen als notwendig (aktuelles Niveau und andere Ebenen bei ausgewählt) neu erstellen.

  2. Bewahren Sie einen Stapel von Aktionen auf, gelten nur auf den aktuellen Niveau, wenn der Schaltniveau den gesamten Stapel auf diesen Niveau auftragen.

  3. In beiden diesen Optionen können alle nicht aktuellen Ebenen * in Dateien gespeichert und nur in den Speicher geladen werden, wenn dieses Niveau ausgewählt ist. (* Außer der höchsten Auflösung in Option 1, die im Speicher aufbewahrt werden muss.)

    Option 1 ist genauer - einige Aktionen können weniger genau sein, wenn sie direkt auf niedrigere Auflösungen angewendet werden.

    Wenn sich Ihr aktuelles Niveau nicht häufig ändert und die Aktionen schnell genug sind, um in der Reihenfolge des aktuellen Pegels angewendet zu werden, wenn sie sich ändert, ergibt sich die Option 2 in den geringsten Berechnungen und dem gleichzeitigen Speicher in der Verwendung.

    Für die Option 1 benötigen Sie einen Reduktionsalgorithmus (Größe), um den aktuellen Niveau aus der höchsten Auflösung zu berechnen.

    Für die Option 2 benötigen Sie einen Stapel von Aktionen (+ Parameter für jede Aktion).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top