Frage

Ich bin auf der Suche nach einem Rastergrafikrahmen für Mac OS X. Insbesondere mag ich eine Art Ansicht, dass ich (zumindest vom Konzept her) wie eine Matrix von Pixeln manipulieren kann. Mein Programm wird die Pixeldaten programmatisch erzeugen.

QuickDraw passt diese Beschreibung gut, aber veraltet. Soweit ich das beurteilen kann, gibt es nichts gleichwertig in Core Graphics. Bin ich etwas fehlt?

Ein einfacher C Rahmen wäre vorzuziehen, ein Objective-C, aber ich bin nicht zu pingelig.

War es hilfreich?

Lösung

QD veraltet wurde, weil es keine Möglichkeit gibt, es zu tun implementieren effizient mit der der aktuellen Generation von voll Compositing UIs und GPU HW. Aus diesem Grunde gibt es nichts Vergleichbares QD auf dem System, und es wird nicht sein. Die direkten Zugang zu den Sicherungsspeicher Kräfte am besten Kräfte viel mehr Bus-Transaktionen zu und von der GPU, und im schlimmsten Fall kann eine Textur verhindern, dass auf die Karte geladen wird selbst, und in einigen Fällen können Software-Fallbacks verursachen.

Es ist klar, es gibt manchmal Gründe, warum Menschen brauchen Pixelebene Zugang zu einem Hintergrundspeicher, so gibt es einige Mechanismen, es zu tun, aber es gibt keine wirkliche Bequemlichkeit Methoden und wenn Sie eine Möglichkeit, es zu vermeiden, finden Sie sollten. Wenn Sie es nicht vermeiden können, können Sie Core Graphics verwenden, um einen Bitmap-Kontext erstellen a href mit <= "http://developer.apple.com/documentation/graphicsimaging/reference/CGBitmapContext/Reference/reference.html#//apple_ref/ c / funk / CGBitmapContextCreate“rel =‚nofollow noreferrer‘> CGBitmapContextCreate , wo Sie Zugriff auf den Sicherungsspeicher haben und können die Hintergrundspeicher direkt manipulieren. Es ist nicht einfach zu arbeiten mit, und es ist langsam.

Andere Tipps

Was die Breite und Höhe der Ansicht von selbst zu teilen, dann Breite x Höhe Quadrate zeichnen? Sie könnten nur eine NSPoint verwenden und erhöhen sie durch eine bis Breite x Höhe trifft.

Simple Directmedia Layer Pixel Zugriff hat. Es vorbei sein kann töten, da es eine Portierung Bibliothek ist, sondern die gesamte API ist im Klar C. Ich weiß nicht, was es verwendet als Basiswert MacOS-API verwendet. Beste, um die Website zu überprüfen, um zu sehen, ob es für Ihre Zwecke geeignet ist.

Alternativ können Sie verwenden OpenGL Texturen.

Der beste Weg, dies zu tun ist, Core Image. Es wurde entwickelt, um mit Pixeln zu arbeiten, und es ist sehr schnell, weil es ermöglicht, die Arbeit auf der Grafikkarte zu tun.

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