Quartz 2D: macOS және iOS платформалары үшін екі өлшемді графика API
Quartz 2D
Quartz 2D – macOS және iOS үшін графикалық API. QuickDraw мүмкіндіктерін кеңейтеді, PDF негізінде салынған, қарапайым координатты жүйеде жұмыс жасайды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Quartz 2D — Core Graphics фреймворкінің құрамына кіретін macOS және iOS платформалары үшін екі өлшемді графиканы көрсету API.
Quartz 2D is the native two dimensional graphics rendering API for macOS and iOS platforms, part of the Core Graphics framework.
Кварцпен 2D-да сурет салу
Quartz 2D QuickDraw-пен байланысты сурет салу функцияларын кеңейтеді. Ең басты айырмашылық – Quartz 2D шығару құрылғысының және ажыратымдылығының ерекшеліктерін жояды. Quartz 2D пайдаланатын сурет салу моделі PDF 1.4 спецификациясына негізделген. Сурет салу Картезиандық координаттар жүйесінде жүргізіледі, онда мәтін, векторлар немесе растрлік кескіндер торға орналастырылады. Дегенмен, сурет салу нәтижесі тікелей шығару құрылғысына жіберілмейді. Quartz 2D сурет салу орындалатын орта – графикалық контексттерді пайдаланады. Әр графикалық контекст суретті қалай көрсету керектігін анықтайды: терезеде, принтерге жіберу, OpenGL қабатында немесе экраннан тыс. Әр контекст суретті анықтайтын деректерді өзгертпей, қажетті ажыратымдылықта растрлейді. Осылайша, контексттер Quartz 2D-нің ажыратымдылықтан және құрылғыдан тәуелсіздігін қамтамасыз ететін механизм болып табылады. Мысалы, терезе контексі дисплейде нақты графика жасау үшін объектіні тиісті экран ажыратымдылығына растрлей алады. Сол объектіні басу контексіне әлдеқайда жоғары ажыратымдылықпен жіберуге болады. Бұл бірдей графикалық командалардың кез келген құрылғыда ең қолайлы ажыратымдылықты пайдаланып нәтиже беруіне мүмкіндік береді.
Quartz 2D expands the drawing functions associated with QuickDraw. The most notable difference is that Quartz 2D eliminates output device and resolution specificity. The drawing model utilized by Quartz 2D is based on PDF specification 1.4. Drawing takes place using a Cartesian coordinate system, where text, vectors, or bitmap images are placed on a grid. However, drawing output is not sent directly to the output device. Quartz 2D uses graphics contexts, environments in which drawing takes place. Each graphics context defines how the drawing should be presented: in a window, sent to a printer, an OpenGL layer, or off screen. Each context rasterizes the drawing at the desired resolution without altering the data that defines the drawing. Thus, contexts are the mechanism by which Quartz 2D employs resolution and device independence. For example, a window context may rasterize an object to the appropriate screen resolution to create actual graphics on the display. The same object can be sent to a printing context at a much higher resolution. This permits the same graphics commands to yield output on any device using the most appropriate resolution.
Тарих
Quartz 2D контексттерді пайдалану тұрғысынан NeXT-тің Display PostScript-іне ұқсас. Ол алғаш рет Core Graphics Rendering деп аталатын 2D графикалық рендеринг кітапханасы ретінде пайда болды; Core Graphics Services (композициялау) қызметімен бірге Quartz-дың бастапқы нұсқасына біріктірілді. Quartz (және оның рендері) алғаш рет 1999 жылдың мамыр айында WWDC-де көрсетілді. Қазіргі уақытта Quartz 2D атауы Core Graphics (Quartz) 2D рендеринг мүмкіндіктерін дәл анықтайды. Mac OS X 10.2 нұсқасы шыққан кезде, маркетингтік назар Quartz Extreme композициялық қабатына ауыстырылды, ал "Quartz" термині Core Graphics фреймворкіне немесе оның 2D рендеріне сілтеме жасау үшін қолданыла берді. Қазіргі уақытта Quartz технологиялары macOS жүйесінде енгізілген барлық рендеринг және композициялау технологияларын сипаттауға болады (мысалы, Core Image). Mac OS X Tiger-ден бұрын QuickDraw рендерингі Quartz 2D-ге қарағанда артық өнімділік көрсетті. Mac OS X 10.4 бұл мәселені шешіп, Quartz 2D стандартты рендеринг өнімділігін едәуір арттырды. Tiger сонымен қатар Quartz 2D Extreme-ді ұсынды: Quartz 2D үшін графикалық процессордың (GPU) опциялық жеделдетуі, бірақ бұл ресми түрде қолдау көрсетілмейтін мүмкіндік. Mac OS X Leopard нұсқасында Quartz 2D Extreme QuartzGL деп өзгертілді.
Quartz 2D is similar to NeXT's Display PostScript in its use of contexts. It first appeared as the 2D graphics rendering library called Core Graphics Rendering; along with Core Graphics Services (Compositing), it was wrapped into the initial incarnation of Quartz. Quartz (and its renderer) were first demonstrated at WWDC in May 1999. Presently, the name Quartz 2D more precisely defines the 2D rendering capabilities of Core Graphics (Quartz). With the release of Mac OS X 10.2, marketing attention focused on Quartz Extreme, the composition layer, leaving the term "Quartz" to refer to the Core Graphics framework or just its 2D renderer. Presently, Quartz technologies can describe all of the rendering and compositing technologies introduced by macOS (including Core Image for example). Prior to Mac OS X Tiger, QuickDraw rendering outperformed that of Quartz 2D. Mac OS X 10.4 rectified this, substantially increasing the standard rendering performance of Quartz 2D. Tiger also introduced Quartz 2D Extreme: optional graphics processor (GPU) acceleration for Quartz 2D, although it is not an officially supported feature. In Mac OS X Leopard, Quartz 2D Extreme was renamed QuartzGL.