Quartz 2D
Quartz 2D — программный интерфейс приложения (API), являющийся частью Mac OS X и Core Graphics, отвечающий за прорисовку двумерных изображений.
|
---|
Обзор
Quartz 2D используется всеми приложениями Mac OS X, предоставляя независимую от используемого разрешения или типа устройства прорисовку растровой графики, текста и векторных изображений и на экране, и при подготовке к печати. Он ответственен за все, что включает в себя графический уровень:[1]
- Прорисовка текста, используя Apple Type Services (ATS)
- Отображение, манипулирование, и отрисовка документов PDF
- Конвертирование информации PostScript в PDF, и наоборот
- Отображение, манипулирование, и отрисовка растровых изображений посредством ImageIO
- Предоставление управления цветом посредством ColorSync
- Отображение элементов графического интерфейса Aqua
Прорисовка в Quartz 2D
Quartz 2D расширяет функциональность QuickDraw. Но наиболее примечательное различие то, что Quartz 2D исключает устройство вывода и зависимость от разрешения.
Модель прорисовки, используемая в Quartz 2D, основана на спецификации PDF 1.4.[2] При прорисовке текст, векторные изображения или растровые изображения помещаются в сетку прямоугольной системы координат.[3] Однако, результат не отсылается напрямую на устройство вывода. В Quartz 2D используется среда, где происходила прорисовка. Каждая графическая среда определяет, как должен быть представлен результат: либо в окне, либо послан на принтер, либо посредством OpenGL, либо должен вообще остаться за кадром. Таким образом, графическая среда и есть тот механизм, используя который, Quartz 2D достигает независимости от разрешения и типа используемого устройства. Например, оконная среда может растеризовать объект для нужного разрешения экрана, чтобы создать изображение на дисплее. В то же время тот же объект может быть послан в среду принтера в более высоком разрешении. Это позволяет использовать одни и те же графические команды, чтобы получить результат на любом устройстве в наиболее подходящем разрешении.[4]
История
Quartz 2D подобен технологии NeXT Display PostScript тем, что тоже использует среды. В первый раз этот API был представлен в виде библиотеки для прорисовки двумерной графики, которая называлась Core Graphics Rendering; в соответствии с Core Graphics Services (отвечает за компоновку), она была переработана в начальное воплощение Quartz.[5] Quartz (и его прорисовщик) были впервые представлены на WWDC в мае 1999 года.[6]
Сегодня название Quartz 2D более часто используется в качестве определения способностей двумерного построения изображения Core Graphics (Quartz). С выходом Mac OS X 10.2 внимание рынка сфокусировалось на Quartz Extreme, уровне построения изображения, а термин «Quartz» теперь соответствует Core Graphics framework или просто 2D-прорисовщику. Теперь технологией Quartz можно назвать все вместе взятые технологии построения и отрисовки двумерных изображений, входящие в состав Mac OS X (включая Core Image, например).
До Mac OS X 10.4 QuickDraw выполнял функции отрисовки лучше, чем Quartz 2D. Mac OS X 10.4 исправила это положение, в основном улучшив производительность «обычной» отрисовки графики, используя Quartz 2D. В Mac OS X 10.4 также была представлена технология Quartz 2D Extreme: данная технология использует возможности графического процессора и предоставляет аппаратное ускорение для Quartz 2D.
Ссылки
- Apple - Developer - Quartz 2D Programming Guide (недоступная ссылка). Дата обращения: 24 января 2007. Архивировано 12 мая 2008 года.
- Apple - Developer - Graphics & Imaging Overview (недоступная ссылка). Дата обращения: 25 января 2007. Архивировано 23 февраля 2012 года.
- Apple - Developer - Quartz Programming Guide for QuickDraw Developers: Coordinate Space (недоступная ссылка). Дата обращения: 25 января 2007. Архивировано 11 октября 2008 года.
- Apple - Developer - Quartz Programming Guide for QuickDraw Developers: Drawing Destinations (недоступная ссылка). Дата обращения: 25 января 2007. Архивировано 5 сентября 2008 года.
- Ars Technica - Mac OS X DP4 . Дата обращения: 25 января 2007.
- Ars Technica - Mac OS X Update: Quartz & Aqua (недоступная ссылка). Дата обращения: 25 января 2007. Архивировано 23 февраля 2012 года.
См. также
- Quartz (graphics layer)
- Quartz Compositor
- QuickDraw
- Display PostScript
- Core Image
Ссылки
- Mac OS X — Features — Quartz Extreme — from Apple
- Introduction to Quartz 2D Programming Guide — developer documentation from Apple
- Introduction to Quartz 2D for QuickDraw Programmers — developer documentation from O’Reilly’s MacDevCenter