Quartz 2D

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Модель графической составляющей Mac OS X
Прорисовка
QuickDrawOpenGL • Quartz 2D • Core ImageCore Video
Построение

Quartz Compositor

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, либо должен вообще остаться за кадром. Таким образом, графическая среда и есть тот механизм, используя который Quatrz 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.

Ссылки[править | править исходный текст]

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]