Подтвердить что ты не робот

Путаница относительно quartz2d, ​​основная графика, основная анимация, основные изображения

Я работаю над проектом, который требует некоторой обработки изображений, я также задал вопрос о нем, и я получил очень хорошее решение, вот ссылка создать совершенно новое изображение в iOS, выбрав разные свойства

но теперь я хочу изучить это более подробно, и я смущен, откуда я должен начать изучать кварц 2d или базовую анимацию или основную графику или изображение ядра.

Apple документы говорят о кварце 2d, что

Quartz 2D API является частью структуры Core Graphics, поэтому вы можете см. Кварц, называемый Core Graphics или, просто, CG.

и apple docs говорят о базовой графике, которая

Структура Core Graphics - это API на основе C, основанный на Кварцевый усовершенствованный движок рисования.

это путает, как они оба связаны друг с другом...

теперь основная анимация содержит все понятия координат, границ, фреймов и т.д., которые также необходимы при рисовании изображений

и изображение ядра введено в ios 5

откуда я должен начать учиться или в какой последовательности я начинаю изучать все это.

4b9b3361

Ответ 1

Кварц и Core Graphics являются синонимами. Я склонен избегать использования "кварца", потому что этот термин очень склонен к путанице (действительно, структура, которая включает Core Animation, - "QuartzCore", еще более запутывает).

Я бы сказал:

  • Изучите Core Graphics (CoreGraphics.framework), если вам нужен высокопроизводительный векторный рисунок (строки, прямоугольники, круги, текст и т.д.), возможно, смешанные с растровой/растровой графикой с простыми модификациями (например, масштабирование, вращение, границы и т.д.). Core Graphics особенно не подходит для более продвинутых операций с растровыми изображениями (например, цветокоррекция). Это может сделать многое на пути растровых/растровых операций, но это не всегда очевидно или просто. Короче говоря, Core Graphics лучше всего подходит для использования в стиле "Illustrator/Freehand/OmniGraffle".

  • Изучите Core Animation (внутри QuartzCore.framework), если вам нужно анимировать содержимое. Основные анимации (например, перемещение вида по экрану) можно выполнить полностью без Core Animation, используя базовые функции UIView, но если вы хотите сделать более привлекательную анимацию, Core Animation - ваш друг. В некотором роде неинтуитивно, Core Animation также является домом для семейств классов CALayer, которые помимо анимации позволяют вам делать еще несколько интересных вещей, таких как быстрые (хотя и плохо выполняющие) тени и 3D-преобразования (дающие вам то, о чем можно подумать как "плохой человек OpenGL" ). Но в основном он используется для анимации контента (или свойств контента, таких как цвет и непрозрачность).

  • Изучите Core Image (внутри QuartzCore.framework), если вам нужна высокая производительность, точная обработка изображений. Это может быть все, от цветовой коррекции до вспышек объектива до размытия и чего-то промежуточного. Apple публикует ссылку на фильтр, которая перечисляет различные готовые фильтры основного изображения, которые доступны. Вы также можете написать свой собственный, хотя это не обязательно для слабонервных. Короче говоря, если вам нужно реализовать что-то вроде "[выбрать свой любимый редактор фотографий]", то Core Image - это ваш go-to.

Проясняет ли это вопрос?

Ответ 2

Core Animation - это технология, которая опирается на OpenGL намного больше, что означает ее привязку к GPU.

Core Graphics, с другой стороны, использует CPU для рендеринга. Он намного точнее (по пикселям), чем Core Animation, но будет использовать ваш процессор.