5

Ich lese seit mehreren Stunden jetzt documentation über das Zeichnen von zweidimensionalen Grafiken in einer Objective-C-Kakao-Anwendung. Es scheint verschiedene Technologien zu geben, die alle für bestimmte Aufgaben spezifisch sind. Ich verstehe, dass die folgenden Technologien die folgenden Dinge tun. Bitte korrigieren Sie mich, falls ich falsch liege.Kakao 2D Grafik: Quarz, Core Image oder Core Animation?

  • Quartz 2D: Die primäre Bibliothek zum Zeichnen von Formen, Text und Bildern auf dem Bildschirm.
  • Core Graphics: Dies ist der Name des Frameworks, das Quartz enthält. Dies kann als Synonym für Quarz verwendet werden.
  • QuartzGL: Ein GPU-Beschleunigungsmodus für Quartz, der standardmäßig nicht aktiviert ist, und nicht necessarily faster zum Zeichnen von Objekten auf dem Bildschirm.
  • OpenGL: Die niedrigste Bibliothek, sprechen direkt auf die Grafikkarte auf Kosten von mehr Codezeilen. Geeignet für 3D-Grafiken.
  • Core Image: Eine Bibliothek zum Anzeigen von Bildern und Text, aber nicht so sehr zum Zeichnen von Formelementen.
  • Kernanimation: Eine Bibliothek zum automatischen Animieren von Objekten. Offenbar nicht geeignet für moving large numbers of objects. Auch nicht für continuous animation of objects.
  • QuickTime: Eine Bibliothek, die anscheinend neben Video auch Bilder und Text erstellt, aber wahrscheinlich nicht zum Zeichnen primitiver Formen geeignet ist.
  • Ich möchte einen Browser für bestimmte Daten erstellen. Die Ansicht wäre nicht sehr kompliziert und würde darin bestehen, Rechtecke an bestimmten Stellen zu zeichnen. Der Benutzer sollte sich jedoch bewegen können, indem er die Ansicht nach links oder rechts zieht, und diese Bewegung sollte fließend sein. Hier ist ein Beispiel, das in unmittelbarer Nähe zu dem, was ich versuche zu machen:

    http://jbrowse.org/ucsc/hg19/

    Welche Zeichnung Technologie würden Sie empfehlen ich beginnen Codierung mit?

    Antwort

    5

    Sie wollen Quarz. Wenn Sie nicht MASSIVE Datenmengen graphisch darstellen, sollte jeder Mac (ich nehme an, Mac nicht iOS) leicht damit umgehen. Es ist einfach, effizient und wird Sie wahrscheinlich dorthin bringen, wo Sie hingehen müssen. Für die Ziehbewegung wirst du das wahrscheinlich mit Core-Animation-Layern schaffen.

    Hinweis: Alles am Ende wird von AppKit (Mac) oder UIKit (iOS) und schließlich Core Animation behandelt. Wenn Sie Grafiken machen, werden Sie irgendwann auf Core Animation treffen, da alles, was angezeigt wird, verwaltet wird.

    Hinweis: Wenn Sie dass viel Daten grafisch darstellen, Sie OpenGL verwenden können, aber auch dann, wenn die Notwendigkeit nicht zu viel sein, bis Sie die Anzeige beginnen, wahrscheinlich viele Millionen von Eckpunkten oder komplexe Visualisierungen.

    Verwandte Themen