Раскраска о космосе: Раскраска космос для детей распечатать бесплатно

День космонавтики раскраски для детей : 75 красивых раскрасок

Мы уже начали подготовительную работу к этому любимому детьми празднику! И у меня для вас новый подарок: на день космонавтики раскраски для детей! Теперь к рисункам вы можете добавить новую коллекцию! О чем она и чем можно заинтересовать малышей разного возраста? Сейчас все расскажу и покажу!

Космические корабли и астронавты

Детям нравится рисовать ракеты. В этой коллекции есть уже и астронавты, и корабли. Только нужно добавить краски, чтобы картинка «ожила» и приобрела характер. Пусть малыши сами выберут «настроение» рисунка: яркое, веселое, строгое и реалистичное. Для этого карапузам послужат краски, карандаши и фломастеры. Скачайте понравившееся изображение и пусть ваши крохи проявят свой талант!

Также читайте:

Поделки на тему космос своими руками: 7 лучших идей в садик или школу

Рисунок на день космонавтики для детей в детский сад или школу

Поделки в детский сад на 12 апреля (день космонавтики)

Ракета из бутылки своими руками: 6 лучших мастер-классов

Неизведанные планеты и целые Галактики

Космос огромный и красивый! Как выразить все это? При помощи раскрасок. Готовые шаблоны помогут малышам заняться самым важным делом! Дети покажут, какими красивыми, почти волшебными кажутся чужие планеты, звезды и звездные скопления.

Праздник и наши дети

А как сделать праздник еще более интересным? Если задействовать наших детей! сделать их героями праздника! Как в этом помогут раскраски? Из двух категорий, которые я предложила выше, выбрать те, которые можно использовать для нашего детского «сценария». Представьте, что это наш малыш высадился на Луне! Это его лицо в скафандре астронавта, что летает в открытом пространстве рядом со своей ракетой. Или в окне ракеты.

А добиться такого эффекта очень просто! Достаточно крохе разукрасить картинку. А в нужных местах вклеить свое фото. Вот карапуз и стал астронавтом и путешественником по космическим далям.

Если понравилась идея, поделись статьей в соц.сети. До встречи, друзья. Я рада, что вас с каждым днем все больше и больше!

Наше новое видео:



Раскраска космос | andrey-eltsov.ru

На странице представлены самые разные картинки раскраска космос: раскраски ракета, космонавт, планеты…. и многие другие раскраски

Раскраска космос загадочна, романтична и многообразна! Также есть и анимация космос.

Все мы не просто дети, а дети именно космоса!

На фото простая раскраска ракета на фоне звёзд.

Раскраска космос с ракетой самая популярная!

 

 

Раскраска космонавт Гагарин. Великий первопроходец!

На фото все планеты солнечной системы.

Все по порядку вокруг солнца кружат.

Земля с вечным своим спутником Луной. Раскраска про космос вызывает у детей немалый интерес.

Анимация космос с вращающейся землёй и кружащим над ней космическим кораблём.

Космонавт на луне.

Сзади за ним инопланетянин подсматривает.) Забавные картинки раскраска про космос!)

Анимация космос с ярким вихрем.

 

Космонавт американский на Луну впервые прилетел.

Ещё планеты  вокруг солнца.

На фото стремительная ракета великой страны прошлого СССР.

Раскраска ракета стартует с Земли с космонавтами на борту. Космонавты машут  в знак прощания.

Забавный космонавт в безвоздушном пространстве в невесомости летает на фоне ракеты, звёзд и Сатурна.

Анимация космос с мультяшным космонавтом в невесомости летящим.

Весёлый космонавт торжественно нас приветствует.

Собачки Белка и Стрелка в космосе.

Раскраска космос с собачками просто прелесть! Чудесные картинки!

Инопланетяне на летающей тарелке. Раскраска про космос без инопланетян не обходится. Прикольные какие инопланетяне!)

Летающая тарелка в полёте.

На фото луноход на Луне.

Космический корабль над Землёй летает. Раскраска про космос романтичная и загадочная.

А это планета Сатурн на фоне звёзд.

Ещё космическая ракета, стартующая на фоне неба звёздного с месяцем.

Анимация космос с кометами.

На фото раскраска космос по номерам. Это раскраска для маленьких детишек.

На фото пример раскраски космонавта с ракетой. Маленький и отважный космонавт.

Ракета на фоне планет и звёзд. Сатурн на переднем плане.

Ещё забавные Белка и Стрелка. Легендарные собаки — покорители космических пространств!

Великий первый космонавт Гагарин.

Раскраска космос без Гагарина невозможна!

А это раскраска космос антистресс.

Ещё космос антистресс с космонавтом в невесомости. Детям понравится такая раскраска!

Комета летит между планет.

Космонавты готовятся к полёту.

Космонавты в скафандрах в кабине космического корабля. Интересные картинки впечатляют!)

Космонавт летит на фоне звёзд и планеты Земля. Раскраска про космос разнообразная.

Ещё ракета стартовала в космос с Земли. Ракета отдаляется от Земли и та стала маленькой.

Вот такие разные картинки раскраска космос!

Раскраски на тему “Космос” | МАМА И МАЛЫШ

Здесь Вы можете скачать раскраски на тему «Космос». Космические раскраски представлены на любой возраст и вкус. Вы найдете раскраски с изображением ракет, космических кораблей, спутников, космонавтов, планет, звезд. А также раскраски с изображением любимых героев из мультфильмов — «Незнайка на Луне» и «Белка и Стрелка». Еще были добавлены большая раскраска с изображением ракеты и раскраски-плакаты на космическую тему.

Космическая раскраска

Раскраска «Звездолеты»

Раскраска «Планеты и звезды»

Космическая раскраска (на испанском языке)

Раскраска «Космонавты»

Раскраска «Незнайка на луне»

Раскраска «От сказки до Луны»

Раскраска «Ракеты, космические корабли, спутники»

Раскраска «Белка и Стрелка. Звездные собаки»

Гигантская раскраска «Ракета»

Плакат-раскраска «Пришельцы»

Плакат-раскраска «Космос»

Еще по этой теме можно почитать:

Книги по астрономии Е. П. Левитана для детей

Загадки о космосе

Космическая азбука

Стихи о Ю. А. Гагарине

Стихи про звезды, созвездия, кометы и астероиды

Стихи про солнечную систему, планеты и спутники планет

Стихи о космосе для детей

Книги о космосе для детей

Похожее

Развивающие раскраски “Космос”

Изучая с ребенком космос, предложите ему развивающие раскраски на эту тему. Здесь рисунки нужно не просто раскрашивать, а выполнять определенные задания.

Дорисуй по точкам ракету и раскрась ее.
ракета по точкам
Учимся рисовать по клеточкам. Рисуем летающую тарелку. Для этого берем листок бумаги в клеточку и рисуем точно такую же летающую тарелку и раскрашиваем ее.

летающая тарелка
Раскрасьте буквы, из которых состоит слово «ракета».

ракета буквы
Посчитайте лампочки на летающих тарелках и под каждой из них раскрасьте сколько же кружочков.

нло
В каждом ряду посчитайте черные кружочки слева и раскрасьте столько же планет.

нло
Соедините каждого марсианина с его летающей тарелкой.

инопланетянин с летающей тарелкой
Проведите линии по точкам, не отрывая руки и не останавливаясь.

планеты и звезды
Отобразите этот рисунок по точкам в нижней части страницы.

робот

Раскрасьте ракеты, которые летят вверх, зеленым цветом, вниз — красным, влево — синим, вправо — желтым.

космический корабльРаскрасьте звездочки в первом ряду красным, желтым и синим цветами. Далее раскрашивайте звезды теми же цветами, но так, чтобы ряды не повторялись.

космонавт со звездами

ракета раскраска

ракета раскраска

ракета раскраска

Материал по теме: Раскраски космос, космонавты, космические корабли, планеты

По теме: методические разработки, презентации и конспекты

Человек покоряет космос! Первый космонавт. Космические корабли

План – конспект Старший дошкольный возраст…

Конспект физкультурного семейного досуга для старшей группы по теме: «Полет на космическом корабле»

«Полет на космическом корабле » (физкультурный досуг)Цели:— уточнить и систематизировать полученные знания о космосе, космических полетах, космонавтах;- учить отгадывать загадки;— закрепить назв…

Итоговое занятие в старшей группе «Полет на космическом корабле»

Итоговое занятие в старшей группе «Полет на космическом корабле»Цели:-уточнить и систематизировать полученные знания о космосе, космических полетах, Солнечной системе;-закрепить названия планет, их по…

«Человек покоряет космос! Первый космонавт. Космические корабли».

ЗАНЯТИЕ ОЗНАКОМЛЕНИЕ С ОКРУЖАЮЩИМ…

Аппликация в старшей группе «Космический корабль»

Предлагаю вам конспект по аппликации для детей старшей группы (5-6 лет) на тему: «Космический корабль». Данный материал посвящен Дню космонавтики и может заинтересовать воспитателей старшей группы. Эт…

«Человек покоряет космос! Первый космонавт. Космические корабли».

«Человек покоряет космос! Первый космонавт.  Космические корабли»….

Конспект НОД В подготовительной к школе группе Образовательная деятельность: Познание. «Путешествие в космос»Задачи: Расширять представления детей о космосе и космических явлениях. Активизировать словарь по теме «Космос». Продолжать учить чтению. Развива

Муниципальное образовательное учреждение«Детский сад №35 г. Челябинск»       Конспект НОДВ подготовительной к школе группеОбразовательная деятельность: П…

Раскраска космос и планеты для детей

25 января 2017

Аверьянова Света

Раскраска космос и планеты весьма популярна среди детей. В научном ключе космос – это свободные области вселенной, которые состоят темной материи, и которые располагаются за гранью небесных тел. В философском понимании, космос – это реальность, которая окружает всех нас, реальность, которая подчиняется законам науки. Космос составляет противоположность хаосу. В интернете множество разных раскрасок на космическую тему, которые можно бесплатно скачать и быстро распечатать.

Многие считают, что космическое пространство создано только для мужчин, и любой мальчишка стремится вырасти и быть космонавтом либо пилотом, но раскраски космос интересуют и большинство девчонок. Космическое пространство это ведь не просто ракеты, летающие корабли инопланетян, это также и удивительные созвездия, неизведанные планеты, волшебные окрасы глубин космоса.

Именно это привлекает деток в раскрасках про космос. Раскраска ракета, планеты позволят деткам своими руками с помощью карандашей и фломастеров, придумать свой волшебный мир космоса, и подсознательно узнать многие абстрактные понятия, которые связаны с ним. Любой мальчик в детстве грезит космосом и небом. Тема космоса поможет реализовать свои желания.

Раскраски для детей имеют весомую роль в их развитии

Они помогают деткам научиться усидчивости, вниманию, аккуратно раскрашивать рисунки, не выходя за границы, развивают мелкую моторику их рук. Это замечательная подготовка к школе не только из-за приобретаемых навыков письма, но и потому, что раскраски распределяются на различные категории.

В итоге родители и малыши имеют возможность не просто раскрашивать рисунок, но и получать новые и интересные знания на определенную тему.

Мамы и папы, воспитатели могут принимать участие в работе малыша, и рассказать ему неизвестные раньше факты о планетах, о том, как они движутся в нашей системе, какие они есть по размеру и какая особенность есть у каждой из планет. Детки, таким образом, смогут узнать, что каждая планета имеет свой индивидуальный оттенок, а увидеть это можно при помощи телескопа.

В соответствии с этим, Марс ребенок сделает красным, а Землю – голубой. Очень полезной будет для малыша раскраска с космонавтами. Родители во время раскрашивания рисунка смогут рассказать крохе кто это, чем этот человек занимается, и для чего ему нужен такой костюм.

Во времена Советского Союза всякий школьник хотел стать космонавтом. На сегодняшний день у многих деток мечты поменялись, но космическое пространство, ракеты, космонавты и другие миры до сих пор заполняют фантазию деток. Поэтому им будет интересно узнать, как попасть в космическое пространство, как работает ракета и живет космонавт.

Все про ракету

Когда будете рассказывать про космос, то не забудьте рассказать малышу, как можно там передвигаться, какие для этого есть способы. Ракета здесь ключевое понятие. Именно это транспортное средство помогает космонавтам двигаться в открытом космосе. Раскраски на космические темы Вы можете найти на любом сайте с раскрасками в тематической категории, и сможете порадовать своего малыша множеством разных рисунков, из которых он сможет сделать прекрасный альбом.

Это прекрасное времяпровождение для родителей и детей. Занимаясь раскрашиванием таких рисунков, Вы не заметите, как пролетит время, а Ваш малыш будет увлечен вашими рассказами о таинственном и полном загадок космическом пространстве. Это занятие сблизит Вас с ребенком еще больше, Вы научите его многим полезным вещам. Распечатайте больше рисунков, и тогда малыш будет долгое время занят полезным делом, во время которого кто-то из родителей сможет или отдохнуть, или заняться другими важными делами.

Поделиться с друзьями:

10 лучших раскраски космических кораблей для малышей

Раскраски космических кораблей – Раскраски космических кораблей Жужжание в своем космическом корабле – Раскраски космических кораблей Жужжание в своем космическом корабле – Небесные космические корабли Раскраски космических кораблей – Небесные космические корабли Раскраски космических кораблей – Подробные раскраски космических кораблей – Подробные раскраски космических кораблей Раскраски космического корабля – Раскраски космических кораблей Дораэмона – Раскраски космических кораблей Дораэмона – Раскраски космических кораблей Марсохода – Раскраски космических кораблей Марсоходов – Раскраски космических кораблей Орион – Раскраски космических кораблей Орион – Ракетно-космические корабли Раскраски Космический Корабль – Раскраски Космический Корабль – Простые Раскраски Космического Корабля – Раскраски Простые Космический Корабль – Раскраски Космический Корабль – Космический Корабль вокруг Орбиты Раскраски Космический Корабль – Раскраски Звездолет Космический Корабль – Sta rship

У вас дома есть маленький фанат научной фантастики? Он мечтает отправиться в космос? В его комнате полно космических кораблей, ракет и плакатов с космическими кораблями? Затем отправьте своего ребенка в путешествие в космос с этими фантастическими раскрасками космических кораблей.

Космические корабли или космические корабли – это огромные транспортные средства, которые доставляют людей в космос. Они служат для самых разных целей, таких как наблюдение Земли, метеорология, колонизация космоса, навигация, исследование планет и т. Д. Вот небольшая коллекция раскрасок космических кораблей для начинающих космонавтов в вашем доме.

1. Простой космический корабль:

Вот простая раскраска космического корабля для ваших малышей. Пусть ваш ребенок сам решит, каких цветов он хочет придать этой галактической машине.Вы также можете помочь своему малышу изобразить звездочки и планеты на заднем плане.

2. Звездолет:

На раскраске изображен один из звездолетов из серии «Звездные войны». Звездолет – это корабль, предназначенный для путешествий между звездными системами. На раскраске есть много мелких деталей, которые ребенок может раскрасить. Так что отдайте это своим старшим детям.

[Прочитано: Раскраски звезд ]

3. Космический корабль Орион:

Вот реалистичный мультипликационный лист космического корабля Орион.Космический корабль служит исследовательским кораблем для перевозки экипажа в космос и поддержки экипажа во время космических путешествий. Раскраска пробудит у вашего ребенка любопытство к науке и космосу.

4. Небесный космический корабль:

Подарите своему ребенку эту потрясающую небесную раскраску, на которой изображен космический корабль в полете над Землей. Перед раскраской попросите его нарисовать инопланетян в космическом корабле. Также попросите его назвать планеты на заднем плане. Посоветуйте своему ребенку использовать для фона яркие и темные оттенки.Будет отлично смотреться.

[Прочитано: Раскраски Земля, ]

5. Космический корабль вокруг орбиты:

Позвольте вашему ребенку исследовать последний рубеж из своей комнаты с помощью этого раскраски. На раскраске изображен космический корабль на лунной орбите. Все готово, чтобы найти жизнь на других планетах. Как вы думаете, он найдет намек? Посмотрите, какой ответ есть у вашего ребенка.

6. Базз в своем космическом корабле:

Вот раскраска для любителей «Истории игрушек».На этом раскраске изображен Базз Лайтер, летящий мимо метеоров и планет на своем крутом космическом корабле. Базз – игрушечный космический рейнджер во франшизе «История игрушек». Он один из двух главных героев сериала.

7. Детальный космический корабль:

На заднем сиденье этого космического корабля никого нет. Так кому он принадлежит? Люди или инопланетяне! Вашему ребенку обязательно понравится раскрашивать эту детализированную межзвездную сцену. В процессе он также будет практиковать свою мелкую моторику.

[Прочитано: Раскраски точка-точка ]

8.Марсоход:

Роботы не всегда похожи на людей. Они могут выглядеть как угодно, от тостера до микроволновок. Робот, который вы видите здесь, – это марсоход. Автоматизированный автомобиль исследует поверхность Марса в поисках признаков жизни. Скажите ребенку раскрасить марсоход и помогите ему найти доказательства.

9. Ракетно-космический корабль:

Вот раскраска на космическую тематику с изображением ракетного космического корабля, планет и звезд. На раскраске так много предметов из космоса, что она наверняка понравится вашему маленькому галактическому искателю приключений.Не забывайте поощрять его использовать смелые цвета.

[Прочитано: Раскраски астронавтов ]

10. Дораэмон отправляется в космическое приключение:

На раскраске изображен веселый Дораэмон, готовый отправиться в космос. Дораэмон – главный персонаж мультсериала Дораэмон. Это голубой робот-кот с четырехмерным карманом, откуда он приобретает футуристические инструменты и гаджеты.

Эти космические вездеходы, раскраски космических кораблей обязательно вызовут у вашего ребенка интерес и творческие способности.Вы можете распечатать все эти раскраски инопланетных космических кораблей, чтобы распечатать их для своих детей, или позволить ему рисовать онлайн.

Реалистичные раскраски космических кораблей можно использовать и в школьных проектах вашего ребенка. Расскажите, как они ему понравились.

Была ли эта информация полезной?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Считается, что все изображения, найденные здесь, находятся в «общественном достоянии». Мы не намерены нарушать какие-либо законные интеллектуальные права, права на произведения искусства или авторские права. Все отображаемые изображения неизвестного происхождения.Если вы являетесь полноправным владельцем любого из размещенных здесь изображений / обоев и не хотите, чтобы они отображались или если вам требуется соответствующий кредит, свяжитесь с нами, и мы немедленно сделаем все необходимое, чтобы изображение стало быть удаленным или предоставить кредит там, где это необходимо. Все содержимое этого сайта является бесплатным, и поэтому мы не получаем никакой финансовой выгоды от отображения или загрузки каких-либо изображений / обоев.

.

О цветовых пространствах

Цветовое пространство описывает абстрактную многомерную среду, в которой можно определить любой конкретный цвет. Следующие разделы суммируют основные концепции и терминологию цветовых пространств и обсуждают, как Cocoa их реализует.

Некоторая информация, представленная здесь, адаптирована из Обзор управления цветом . Подробное описание цвета и цветовых пространств см. В этом документе.

Цветовые модели и цветовые пространства

Человеческий глаз воспринимает цвет как свет в довольно узкой полосе электромагнитного спектра.Биология глаза делает его особенно восприимчивым к красному, синему и зеленому свету. Люди могут визуализировать широкий спектр цветов посредством смешения этих трех основных цветов.

Цветовая модель – это геометрическая или математическая структура, которая пытается описать цвета, которые мы видим. Он использует числовые значения, прикрепленные к размерам модели, для представления видимого спектра цвета. Цветовая модель дает нам метод описания, классификации, сравнения и упорядочивания цветов.

Цветовое пространство – это практическая адаптация цветовой модели, которая определяет цветовую гамму, которая может быть получена с использованием этой модели.Цветовая модель определяет отношения между значениями, а цветовое пространство определяет абсолютное значение этих значений как цветов. Эти значения, называемые компонентами, в большинстве случаев представляют собой значения с плавающей запятой от 0,0 до 1,0.

Цветовые пространства серого, RGB и CYMK

Простейшим цветовым пространством является серое пространство (иногда также называемое белым пространством). Серое пространство имеет одно измерение или компонент, варьирующийся от чисто белого до чисто черного; он используется для печати в оттенках серого.

RGB – это трехмерная цветовая модель, имя которой (как и большинство цветовых пространств и цветовых моделей) представляет ее компоненты – в данном случае красный, зеленый и синий. Цветовые пространства на основе RGB являются аддитивными, что означает, что три основных цвета – красный, зеленый и синий – складываются вместе в различных пропорциях интенсивности для создания цветов видимого спектра. Цветовые пространства RGB используются для таких устройств, как цветные дисплеи и сканеры.

С другой стороны, цветовые пространства, основанные на цветовой модели CYM, являются субтрактивными.Буквы в названии модели обозначают компоненты голубого, желтого и пурпурного цветов. Основное цветовое пространство на основе CYM – CYMK; буква «K» в названии обозначает основной черный цвет. Теория субтрактивного цвета, лежащая в основе CYM, утверждает, что различные уровни голубого, пурпурного и желтого поглощают или «вычитают» часть спектра белого света, освещающего объект. Цвет объекта – это результат того, что свет не поглощается объектом. Черный цвет в цветовом пространстве CYMK используется для компенсации взаимодействия трех основных цветов на белой бумаге.Цветовое пространство CYMK чаще всего используется для цветных принтеров и аналогичных устройств вывода.

Как показано на рисунке 1, цветовые модели RGB и CYM дополняют друг друга, причем одна из них является аддитивной, а другая – вычитающей (красный угол в этом представлении модели скрыт от просмотра).

Рис. 1 Цветовые модели RGB и CYM

Два важных и связанных преобразования цветовой модели RGB – это цветовые пространства HSV и HLS. Вместо того, чтобы делать красный, зеленый и синий рабочие компоненты пространства, эти пространства описывают цвета в терминах, более естественных для художника:

  • HSV – оттенок, насыщенность, значение (также известный как HSB, где «B» представляет яркость)

  • HLS – оттенок, легкость, насыщенность

В пространствах HSV / B и HLS используются модели, которые присваивают значения этим компонентам в конической геометрии, как показано на рисунке 2.

Рисунок 2 Цветовые модели HSV и HLS

Компонент оттенка в обоих пространствах представляет собой измерение в градусах цвета в спектре, сформированном в виде круга. Значения увеличиваются против часовой стрелки: нулевое значение оттенка указывает на красный цвет, значение оттенка 120 указывает на зеленый цвет и так далее. Как в пространстве HSB, так и в пространстве HLS, компонент насыщенности измеряет интенсивность цвета (что существенно различается, например, между коричневым и коричневым). Компоненты легкости и ценности (или яркости) разных пространств практически идентичны.Они измеряют отсутствие света или черного, который является частью определенного цвета.

Цветовая панель, используемая в приложениях Mac, имеет панель цветового круга, имитирующую модель HSB (рис. 3).

Рисунок 3 Панель цветового круга цветовой панели

Независимые от устройства цветовые пространства

Цветовые пространства, основанные на цветовых моделях RGB и CYM, могут быть зависимыми от устройства или независимыми от устройства. Цвета из зависящих от устройства цветовых пространств зависят от физических характеристик таких устройств, как мониторы (RGB и оттенки серого) и принтеры (CYMK), а также от свойств материалов, таких как чернила и бумага.Даже возраст устройства может повлиять на цвет, который он производит. Цветовые пространства, зависящие от устройства, ограничены гаммой или диапазоном цветов, на которые способно конкретное устройство. Следовательно, цвета в цветовом пространстве, зависящем от устройства, могут выглядеть разными при визуализации на разных устройствах одного и того же общего типа.

Можно также отметить тонкие цветовые различия между цветовыми пространствами одного и того же «семейства» цветовых моделей. Например, цветовая модель RGB имеет много цветовых пространств RGB, таких как ColorMatch, Adobe RGB, sRGB и ProPhoto RGB.Вы можете назначить одинаковые значения компонентов RGB профилям, которые описывают эти разные цветовые пространства RGB. Цвет из каждого цветового пространства при визуализации выглядит по-разному, но числовые значения и модель одинаковы.

Некоторые цветовые пространства могут передавать цвет независимо от какого-либо устройства. Цвета этого независимого от устройства цветового пространства являются более точными представлениями цветов, воспринимаемых человеческим глазом. Они возникают из-за реакции сетчатки на три основных раздражителя видимого света.Многие аппаратно-независимые цветовые пространства являются результатом работы, выполненной Международной комиссией по освещению (CIE), и по этой причине их также называют цветовыми пространствами на основе CIE. Три наиболее важных пространства на основе CIE – это XYZ, Yxy и L * a * b *. На рисунке 4 изображено цветовое пространство L * a * b *.

Рисунок 4 Цветовое пространство L * a * b *

Одним из важных способов использования аппаратно-независимых цветовых пространств является преобразование цвета в одном зависящем от устройства цветовом пространстве в достаточно приблизительный цвет в другом зависящем от устройства цветовом пространстве.Например, если программа хотела убедиться, что фотография, отображаемая на цветном мониторе (с использованием цветового пространства RGB), была точно визуализирована на принтере (с использованием цветового пространства CYMK), она могла бы использовать независимое от устройства цветовое пространство в качестве обмена пространство.

Цветовые пространства в Какао

Набор приложений представляет цветовые пространства двумя способами: через имена цветовых пространств и объекты цветового пространства.

Имена цветовых пространств

Имена цветовых пространств – это глобальные строковые константы, объявленные в NSGraphics.h , обозначающие заранее определенные цветовые пространства. Вы можете использовать имя цветового пространства в некоторых методах NSColor, которые создают или конвертируют цветные объекты. Имя определяет цветовое пространство, которое будет использоваться для операции. В таблице 1 перечислены определенные в настоящее время константы.

-зависимый цвет от устройства 9000 красный, зеленый, синий и альфа-компоненты. Однако вы также можете создать цвет с HSB (оттенок, насыщенность, яркость) и альфа-компонентами и извлечь эти компоненты.

красный цвет, калиброванный

Таблица 1 Имена цветовых пространств в Application Kit

Имя цветового пространства

Описание

NSDeviceCYMKColorSpace

Цветовое пространство, зависящее от устройстваa с голубым, пурпурным , желтый, черный и альфа-компоненты

NSDeviceWhiteColorSpace

Цветовое пространство, зависящее от устройства, с белыми и альфа-компонентами (чистый белый – 1.0)

NSDeviceBlackColorSpace

Цветовое пространство, зависящее от устройства, с черным и альфа-компонентами (чистый черный – 1,0)

NSDeviceRGBColorSpace

NSCalibratedWhiteColorSpace

Откалиброванное цветовое пространство с белым и альфа-компонентами (чистый белый – 1.0)

NSCalibratedBlackColorSpace

Откалиброванное цветовое пространство с черным и альфа-компонентами (чистый черный – 1.0)

NSCalibratedRGBColorSpace

синий и альфа-компоненты. Однако вы также можете создать цвет с HSB (оттенок, насыщенность, яркость) и альфа-компонентами и извлечь эти компоненты.

NSNamedColorSpace

Название каталога и компоненты названия цвета

NSPatternColorSpace

Образец изображения (плиточный)

02

7

Пользовательский объект NSColorSpace и компоненты с плавающей запятой, описывающие цвет в этом пространстве

Альфа-компонент принадлежит всем цветовым пространствам, используемым в Какао.Он определяет непрозрачность цвета; альфа-значение 1.0 указывает на полностью непрозрачный цвет, а 0.0 указывает на полностью прозрачный.

Имена цветовых пространств «Устройство» представляют собой цветовые пространства, в которых значения компонентов применяются к устройствам, как указано. Нет никакой оптимизации или корректировки различий между устройствами в том, как они отображают цвета. Если вы точно знаете, какое устройство подключено к системе, и вы хотите распечатать или отобразить определенный цвет на этом устройстве, тогда имеет смысл использовать соответствующее зависящее от устройства цветовое пространство при создании объектов NSColor.Однако обычно приложение не знает, какие устройства подключены и их конкретные цветовые пространства. Если вы укажете компоненты цвета в цветовом пространстве, зависящем от устройства, скажем, NSDeviceRGBColorSpace , а затем несколько дисплеев будут отображать этот цвет, вы увидите несколько разных цветов.

Чтобы обойти эту проблему, вы можете использовать калиброванные цветовые пространства, которые обозначены двумя из названий цветовых пространств в таблице 1. Калиброванное цветовое пространство – это цветовое пространство, независимое от устройства.Цветовые пространства, обозначенные цветовыми пространствами NSCalibratedWhiteColorSpace и NSCalibratedRGBColorSpace , являются калиброванными для устройства, которое наилучшим образом представляет устройства определенного класса, например цветных дисплеев. Это позволяет вашему приложению представлять достаточно точные цвета, когда вы не уверены в цветовом пространстве устройства в определенном контексте.

Имя цветового пространства NSNamedColorSpace определяет особый тип цветового пространства. Компоненты этого цветового пространства являются указателями в списках или каталогах готовых цветов.Каталоги названных цветов поставляются с таблицами поиска, которые могут генерировать правильный цвет на данном устройстве.

Примечание: Не все именованные списки цветов (то есть объекты NSColorList) являются каталогами; только те, которые определены в цветовом пространстве NSNamedColorSpace , имеют связанные таблицы поиска. Как правило, вы не создаете каталоги цветов во время выполнения с помощью методов NSColor и NSColorList.

Имя цветового пространства NSPatternColorSpace определяет цветовое пространство образца, которое представляет собой просто изображение, которое повторяется снова и снова в мозаичном узоре.

Имя цветового пространства NSCustomColorSpace идентифицирует пользовательский объект NSColorSpace. Пользовательский объект цветового пространства представляет цветовое пространство, которое не обязательно предопределено Application Kit. См. Создание пользовательских цветовых пространств для получения информации о создании пользовательских объектов цветового пространства.

Объекты цветового пространства

В Какао объекты могут представлять цветовые пространства так же, как их могут обозначать имена цветовых пространств. Фактически, каждое имя цветового пространства идентифицирует базовый объект цветового пространства, созданный Application Kit.Объекты цветового пространства – это экземпляры класса, наследуемого от класса NSColorSpace.

Важно: Класс NSColorSpace был представлен в OS X v10.4. Объекты общедоступного цветового пространства и имя NSCustomColorSpace , рассмотренные в предыдущем разделе, недоступны в более ранних версиях операционной системы.

Большинство имен цветовых пространств обозначают цветовое пространство, представленное лежащим в основе объектом NSColorSpace. Эти же объекты возвращаются методами фабрики классов NSColorSpace.Таблица 2 показывает корреляцию между именем цветового пространства и фабричным объектом цветового пространства.

Таблица 2 Соответствующие имена цветовых пространств и заводские методы NSColorSpace

Имя цветового пространства

Заводские методы цветового пространства

NSCalibratedWhiteColorSpace0003 NSCalibratedWhiteColorSpace NSCalibrated 9 genericGrayColorSpace

NSCalibratedRGBColorSpace

genericRGBColorSpace

Отсутствует

genericCMYKColorSpace

NSDeviceWhiteColorSpace NSDeviceBlackColorSpace

deviceGrayColorSpace

NSDeviceRGBColorSpace

deviceRGBColorSpace

NSDeviceCMYKColorSpace

deviceCMYKColorSpace

NSNamedColorSpace

Отсутствует

NSPatternColorSpace

Отсутствует

NSCustomColorSpace

Нет

Класс NSColor является крупнейшим «клиентом» класса NSColorSpace.Многие методы NSColor включают параметр для указания имени цветового пространства или объекта цветового пространства. Фактически, цветные объекты не могут быть созданы без явной или неявной ссылки на цветовое пространство, включая именованные цветовые пространства и пространства образца. (Методы создания цвета NSColor, которые не указывают цветовое пространство или цветовую модель в своих именах, предполагают калиброванное цветовое пространство RGB или калиброванное белое цветовое пространство.) Другие методы класса NSColor позволяют преобразовывать цветовой объект в одно цветовое пространство. объекту, представляющему цвет в другом цветовом пространстве.Для получения дополнительной информации см. Создание и преобразование цветов с использованием цветовых пространств.

Вы можете создавать пользовательские объекты цветового пространства программно, используя класс NSColorSpace. Чтобы создать пользовательский объект цветового пространства, вы должны инициализировать его одним из двух источников данных:

  • Объект ColorSync - объект непрозрачного типа CMProfileRef .

  • Данные профиля ICC - объект NSData, инкапсулирующий карту профиля ICC; карта - это структура, состоящая из заголовка, таблицы тегов и данных тегированного элемента.

Для получения дополнительной информации о создании объектов, представляющих настраиваемые цветовые пространства, см. Создание настраиваемых цветовых пространств.

Примечание: Хотя вы можете создавать пользовательские объекты NSColorSpace программно, обычно в этом нет необходимости. Панель «Цвет» предпочтения «Система отображения» позволяет запускать «мастера» для создания пользовательских цветовых пространств.

.

Цветов и цветовых пространств

Устройства (дисплеи, принтеры, сканеры, камеры) не обрабатывают цвет одинаково; у каждого есть свой диапазон цветов, который устройство может точно воспроизводить. Цвет, созданный на одном устройстве, может не отображаться на другом устройстве.

Для эффективной работы с цветом и понимания функций Quartz 2D для использования цветовых пространств и цвета вы должны быть знакомы с терминологией, обсуждаемой в Обзор управления цветом .В этом документе обсуждаются восприятие цвета, значения цвета, независимые от устройства цветовые пространства и цветовые пространства устройства, проблема сопоставления цветов, способ рендеринга, модули управления цветом и ColorSync.

В этой главе вы узнаете, как Quartz представляет цвет и цветовые пространства, а также что такое альфа-компонент. В этой главе также обсуждается, как:

  • Создание цветовых пространств

  • Создание и установка цветов

  • Установка метода рендеринга

О цвете и цветовом пространстве

Цвет в кварце представлен набором ценности.Значения бессмысленны без цветового пространства, которое диктует, как интерпретировать информацию о цвете. Например, все значения в таблице 4-1 представляют синий цвет с полной интенсивностью. Но, не зная цветового пространства или допустимого диапазона значений для каждого цветового пространства, у вас нет возможности узнать, какой цвет представляет каждый набор значений.

Таблица 4-1 Значения цвета в разных цветовых пространствах

Значения

Цветовое пространство

Компоненты

240 градусов, 100%, 100%

HSB

Оттенок, насыщенность, яркость

0, 0, 1

RGB

Красный, зеленый, синий

1, 1, 0, 0

CMYK

Голубой, пурпурный, желтый, черный

1, 0, 0

BGR

Синий, зеленый, красный

Если вы указали неправильное цветовое пространство , вы можете получить весьма существенные различия, как показано на рис. 4-1.Хотя зеленый цвет интерпретируется одинаково в цветовых пространствах BGR и RGB, значения красного и синего меняются местами.

Рисунок 4-1 Применение цветового профиля BGR и RGB к одному и тому же изображению

Цветовые пространства могут иметь разное количество компонентов. Три цветовых пространства в таблице состоят из трех компонентов, а цветовое пространство CMYK - из четырех. Диапазоны значений относятся к этому цветовому пространству. Для большинства цветовых пространств значения цвета в Quartz варьируются от 0,0 до 1,0, где 1,0 означает полную интенсивность.Например, синий цвет с полной интенсивностью, заданный в цветовом пространстве RGB в Quartz, имеет значения (0, 0, 1.0). В Quartz цвет также имеет альфа-значение, определяющее прозрачность цвета. Значения цвета в таблице 4-1 не имеют значения альфа.

Альфа-значение

Альфа-значение - это параметр состояния графики, который Quartz использует для определения того, как объединять недавно окрашенные объекты в существующую страницу. При полной яркости только что окрашенные объекты непрозрачны.При нулевой интенсивности новые окрашенные объекты невидимы. На рис. 4-2 показаны пять больших прямоугольников, нарисованных с использованием значений альфа 1,0, 0,75, 0,5, 0,1 и 0,0. Когда большой прямоугольник становится прозрачным, он показывает меньший непрозрачный красный прямоугольник, нарисованный под ним.

Рисунок 4-2 Сравнение больших прямоугольников, нарисованных с использованием различных альфа-значений

Вы можете сделать как объекты на странице, так и саму страницу прозрачными, установив глобальное альфа-значение в контексте графики перед рисованием.На рис. 4-3 сравнивается глобальная альфа-настройка 0,5 со значением по умолчанию 1,0.

Рисунок 4-3 Сравнение глобальных альфа-значений

В нормальном режиме наложения (который является значением по умолчанию для графического состояния) Quartz выполняет альфа-смешивание, комбинируя компоненты исходного цвета с компонентами целевого цвета, используя формула:

пункт назначения = (альфа * источник) + (1 - альфа) * ​​пункт назначения

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

Для прозрачности объекта установите значение альфа 1,0 , чтобы указать, что рисуемые объекты должны быть полностью непрозрачными; установите значение 0,0 , чтобы указать, что вновь нарисованные объекты полностью прозрачны. Значение альфа от 0,0 до 1,0 указывает частично прозрачный объект. Вы можете указать альфа-значение в качестве последнего цветового компонента для всех подпрограмм, которые принимают цвета. Вы также можете установить глобальное альфа-значение с помощью функции CGContextSetAlpha .Имейте в виду, что если вы установите оба параметра, Quartz умножит компонент альфа-цвета на глобальное значение альфа.

Чтобы позволить самой странице быть полностью прозрачной, вы можете явно очистить альфа-канал графического контекста с помощью функции CGContextClearRect , если графический контекст является контекстом окна или растровой графики. Это может потребоваться, например, при создании маски прозрачности для значка или для того, чтобы сделать фон окна прозрачным.

Создание цветовых пространств

Quartz поддерживает стандартные цветовые пространства, используемые системами управления цветом для независимых от устройства цветовых пространств, а также поддерживает общие, индексированные и узорчатые цветовые пространства. Независимые от устройства цветовые пространства представляют цвет таким образом, чтобы его можно было переносить между устройствами. Они используются для обмена данными о цвете из собственного цветового пространства одного устройства в собственное цветовое пространство другого устройства. Цвета в независимом от устройства цветовом пространстве выглядят одинаково при отображении на разных устройствах в той мере, в какой это позволяют возможности устройства. По этой причине цветовые пространства, не зависящие от устройства, лучше всего подходят для представления цвета.

Приложения, которые предъявляют точные требования к цвету, всегда должны использовать независимое от устройства цветовое пространство.Общее цветовое пространство, не зависящее от устройства, - это универсальное цветовое пространство . Стандартные цветовые пространства позволяют операционной системе обеспечивать наилучшее цветовое пространство для вашего приложения. Рисование на дисплее выглядит так же хорошо, как и печать того же содержимого на принтере.

Важно: iOS не поддерживает независимые от устройства или общие цветовые пространства. Вместо этого приложения iOS должны использовать цветовые пространства устройства.

Создание независимого от устройства цветового пространства

Чтобы создать независимое от устройства цветовое пространство, вы предоставляете Quartz контрольную точку белого, контрольную точку черного и значения гаммы для конкретного устройства.Quartz использует эту информацию для преобразования цветов из исходного цветового пространства в цветовое пространство устройства вывода.

Не зависящие от устройства цветовые пространства, поддерживаемые Quartz, и функции, которые их создают:

  • L * a * b * - это нелинейное преобразование системы обозначений цветов Манселла (система, которая определяет цвета по оттенку, значению и значения насыщенности или цветности). Это цветовое пространство соответствует воспринимаемой разнице в цвете с количественным расстоянием в цветовом пространстве.Компонент L * представляет значение яркости, компонент a * представляет значения от зеленого до красного, а компонент b * представляет значения от синего до желтого. Это цветовое пространство имитирует процесс декодирования цвета человеческим мозгом. Используйте функцию CGColorSpaceCreateLab .

  • ICC - это цветовое пространство из цветового профиля ICC, определенного Международным консорциумом цветов. Профили ICC определяют цветовую гамму, поддерживаемую устройством, наряду с другими характеристиками устройства, так что эту информацию можно использовать для точного преобразования цветового пространства одного устройства в цветовое пространство другого.Производитель устройства обычно предоставляет профиль ICC. Некоторые цветные мониторы и принтеры содержат информацию встроенного профиля ICC, как и некоторые форматы растровых изображений, такие как TIFF. Используйте функцию CGColorSpaceCreateICCBased .

  • Калиброванный RGB - это не зависящее от устройства цветовое пространство RGB, которое представляет цвета относительно контрольной точки белого, основанной на самом белом свете, который может генерироваться устройством вывода. Используйте функцию CGColorSpaceCreateCalibratedRGB .

  • калиброванных серый является аппаратно-независимым полутоновыми цветовым пространством, которое представляет цвета относительно опорной точки белой, который основан на белоснежной света, который может быть сгенерирован с помощью устройства вывода. Используйте функцию CGColorSpaceCreateCalibratedGray .

Создание общих цветовых пространств

Общие цветовые пространства оставляют согласование цветов на усмотрение системы. В большинстве случаев результат приемлемый. Хотя название может подразумевать иное, каждое «общее» цветовое пространство - общий серый, общий RGB и общий CMYK - является конкретным независимым от устройства цветовым пространством.

Стандартные цветовые пространства просты в использовании; вам не нужно предоставлять какую-либо справочную информацию. Вы создаете общее цветовое пространство, используя функцию CGColorSpaceCreateWithName вместе с одной из следующих констант:

  • kCGColorSpaceGenericGray , которая определяет общий серый, монохроматическое цветовое пространство, которое допускает абсолютную спецификацию одного значения в диапазоне от черного (значение 0,0) до абсолютного белого (значение 1,0).

  • kCGColorSpaceGenericRGB , который определяет общий RGB, трехкомпонентное цветовое пространство (красный, зеленый и синий), моделирующее способ построения отдельного пикселя на цветном мониторе.Каждый компонент цветового пространства RGB имеет значение от 0,0 (нулевая интенсивность) до 1,0 (полная интенсивность).

  • kCGColorSpaceGenericCMYK , который определяет общий CMYK, четырехкомпонентное цветовое пространство (голубой, пурпурный, желтый и черный), моделирующее накопление чернил во время печати. Каждый компонент цветового пространства CMYK имеет значение от 0,0 (не поглощает цвет) до 1,0 (полностью поглощает цвет).

Создание цветовых пространств устройства

Цветовые пространства устройства в основном используются приложениями iOS, поскольку другие параметры недоступны.В большинстве случаев приложение Mac OS X должно использовать общее цветовое пространство вместо создания цветового пространства устройства. Однако некоторые процедуры Quartz ожидают изображений с цветовым пространством устройства. Например, если вы вызываете CGImageCreateWithMask и указываете изображение в качестве маски, изображение должно быть определено с использованием пространства серого цвета устройства.

Цветовое пространство устройства создается с помощью одной из следующих функций:

  • CGColorSpaceCreateDeviceGray для зависящего от устройства цветового пространства оттенков серого.

  • CGColorSpaceCreateDeviceRGB для цветового пространства RGB, зависящего от устройства.

  • CGColorSpaceCreateDeviceCMYK для цветового пространства CMYK, зависящего от устройства.

Создание индексированных цветовых пространств и шаблонов

Индексированные цветовые пространства содержат цветовую таблицу, содержащую до 256 записей, и базовое цветовое пространство, на которое отображаются записи таблицы цветов. Каждая запись в таблице цветов определяет один цвет в базовом цветовом пространстве.Используйте функцию CGColorSpaceCreateIndexed .

Цветовые пространства узора, обсуждаемые в разделе Узоры, используются при рисовании узорами. Используйте функцию CGColorSpaceCreatePattern .

Установка и создание цветов

Quartz предоставляет набор функций для установки цвета заливки, цвета обводки, цветовых пространств и альфа-канала. Каждый из этих цветовых параметров применяется к состоянию графики, что означает, что после установки этот параметр остается в силе, пока не будет установлено другое значение.

Цвет должен иметь соответствующее цветовое пространство. В противном случае Quartz не сможет интерпретировать значения цвета. Кроме того, вам необходимо указать соответствующее цветовое пространство для места назначения рисования. Сравните цвет синей заливки в левой части рисунка 4-4, который является цветом заливки CMYK, с синим цветом, показанным справа, который является цветом заливки RGB. Если вы посмотрите экранную версию этого документа, вы увидите большую разницу между цветами заливки. Цвета теоретически идентичны, но кажутся идентичными, только если цвет RGB используется для устройства RGB, а цвет CMYK используется для устройства CMYK.

Рисунок 4-4 Цвет заливки CMYK и цвет заливки RGB

Вы можете использовать функции CGContextSetFillColorSpace и CGContextSetStrokeColorSpace , чтобы установить цветовые пространства заливки и обводки, или вы можете использовать одну из вспомогательных функций (перечисленных в Таблица 4-2), которые устанавливают цвет для цветового пространства устройства.

Таблица 4-2 Функции настройки цвета

Функция

Используется для установки цвета для

CGContextSetRGBStrokeColor

CGContextSetorRGBFill Во время создания PDF-файла Quartz записывает цвета, как если бы они находились в соответствующем общем цветовом пространстве.

CGContextSetCMYKStrokeColor

CGContextSetCMYKFillColor

CMYK устройства. (Остается CMYK устройства во время создания PDF.)

CGContextSetGrayStrokeColor

CGContextSetGrayFillColor

Device Gray.Во время создания PDF-файла Quartz записывает цвета, как если бы они находились в соответствующем общем цветовом пространстве.

CGContextSetStrokeColorWithColor

CGContextSetFillColorWithColor

Любое цветовое пространство; вы предоставляете объект CGColor, который определяет цветовое пространство. Используйте эти функции для цветов, которые вам нужны повторно.

CGContextSetStrokeColor

CGContextSetFillColor

Текущее цветовое пространство.Не рекомендуется. Вместо этого установите цвет с помощью объекта CGColor и функций CGContextSetStrokeColorWithColor и CGContextSetFillColorWithColor .

Вы указываете цвета заливки и обводки как значения, расположенные в цветовом пространстве заливки и обводки. Например, полностью насыщенный красный цвет в цветовом пространстве RGB задается как массив из четырех чисел: (1.0, 0.0, 0.0, 1.0). Первые три числа указывают полную красную интенсивность, а не зеленую или синюю.Четвертое число - это альфа-значение, которое используется для определения непрозрачности цвета.

Если вы повторно используете цвета в своем приложении, наиболее эффективным способом установки цветов заливки и обводки является создание объекта CGColor, который затем передается в качестве параметра функциям CGContextSetFillColorWithColor и CGContextSetStrokeColorWithColor . Вы можете хранить объект CGColor столько, сколько вам нужно. Вы можете повысить производительность своего приложения, напрямую используя объекты CGColor.

Вы создаете объект CGColor, вызывая функцию CGColorCreate , передавая объект CGColorspace и массив значений с плавающей запятой, которые определяют значения интенсивности для цвета. Последний компонент в массиве указывает альфа-значение.

Установка цели рендеринга

Способ рендеринга определяет, как Quartz сопоставляет цвета из исходного цветового пространства с цветами, которые находятся в пределах гаммы целевого цветового пространства графического контекста. Если вы не указали явно метод рендеринга, Quartz использует относительный колориметрический метод рендеринга для всех рисунков, кроме растровых (выборочных) изображений.Для этого Quartz использует перцепционный метод визуализации.

Чтобы установить цель рендеринга, вызовите функцию CGContextSetRenderingIntent , передав графический контекст и одну из следующих констант:

  • kCGRenderingIntentDefault . Использует метод рендеринга по умолчанию для контекста.

  • kCGRenderingIntentAbsoluteColorimetric . Сопоставляет цвета за пределами гаммы устройства вывода с максимально близким соответствием внутри гаммы устройства вывода.Это может вызвать эффект отсечения, когда два разных значения цвета в гамме графического контекста отображаются на одно и то же значение цвета в гамме устройства вывода. Это лучший выбор, когда цвета, используемые в графике, находятся в пределах диапазона как источника, так и назначения, как это часто бывает с логотипами или при использовании плашечных цветов.

  • kCGRenderingIntentRelativeColorimetric . Относительный колориметр сдвигает все цвета (включая те, которые находятся в гамме), чтобы учесть разницу между белой точкой графического контекста и белой точкой устройства вывода.

  • kCGRenderingIntentPerceptual . Сохраняет визуальные отношения между цветами за счет сжатия гаммы графического контекста, чтобы она соответствовала гамме устройства вывода. Перцептивное намерение хорошо подходит для фотографий и других сложных, детализированных изображений.

  • kCGRenderingIntentSaturation . Сохраняет значение относительной насыщенности цветов при преобразовании в гамму устройства вывода. В результате получается изображение с яркими насыщенными цветами.Насыщенность хороша для воспроизведения изображений с низкой детализацией, например презентационных диаграмм и графиков.

.

Работа с цветовыми пространствами

Методы класса NSColor , которые создают или конвертируют цветные объекты, делают явную или неявную ссылку на цветовое пространство либо в форме имени, либо в форме объекта. В конце концов, цвета не могут быть определены без цветового пространства, обеспечивающего среду для определения. В следующих разделах суммируются эти методы NSColor и предлагаются рекомендации по их использованию в программировании.

Методы NSColor, использующие цветовые пространства

Многие фабричные методы создания цвета NSColor включают имя цветового пространства в имя метода.Вы должны указать значения компонентов цвета после ключевых слов метода. Например, colorWithDeviceCyan: magenta: yellow: black: alpha: создает цвет, используя цветовое пространство, обозначенное NSDeviceCMYKColorSpace . Вы должны создать цвет в калиброванном цветовом пространстве HSB (которое в данном случае обозначено как NSCalibratedRGBColorSpace ), используя colorWithCalibratedHue: saturation: яркость: alpha: . Цвета в именованных (каталог) и цветовых пространствах образца также имеют свои собственные методы создания фабрики: colorWithCatalogName: colorName: и colorWithPatternImage:

Для создания цветовых объектов в цветовых пространствах, представленных объектами NSColorSpace , используйте colorWithColorSpace: компоненты: количество: метод.Как показано в листинге 1, вы можете получить один из предопределенных объектов цветового пространства, вызвав соответствующий фабричный метод класса NSColorSpace (например, genericCMYKColorSpace ).

Листинг 1 Создание цвета из предопределенного объекта цветового пространства

 float comps [] = {0.4, 0.2, 0.6, 0.0, 1.0}; 
 NSColor * aColor = [NSColor colorWithColorSpace: [NSColorSpace genericCMYKColorSpace] компоненты: количество композиций: 5]; 

Примечание: Метод genericCMYKColorSpace из NSColorSpace - единственный способ получить предварительно определенное откалиброванное цветовое пространство CYMK; в настоящее время нет соответствующего имени цветового пространства.

Основное преимущество использования метода colorWithColorSpace: components: count: для создания цветов заключается в том, что вы можете использовать объект, представляющий настраиваемое цветовое пространство (см. Создание настраиваемых цветовых пространств). Вы не ограничены предопределенными объектами цветового пространства.

Объекты NSColorSpace имеют преимущества перед именами цветовых пространств в силу того, что они являются объектами. Например, вы также можете запросить эти объекты об их свойствах, таких как количество компонентов, значения этих компонентов и локализованное имя.Вы также можете архивировать и разархивировать объекты цветового пространства.

Некоторые методы создания цвета NSColor не ссылаются на цветовое пространство в своих именах. Некоторые из этих методов фабрики классов создают первичные и вторичные цвета, например blueColor и purpleColor ; другие, например lightGrayColor , создают оттенки серого. Эти заводские методы NSColor предполагают цветовое пространство откалиброванного RGB ( NSCalibratedRGBColorSpace ) или откалиброванного белого ( NSCalibratedWhiteColorSpace ), в зависимости от ситуации.В большинстве случаев альфа-компонент (непрозрачность) равен 1.0.

Другие методы создания цвета NSColor создают объекты, представляющие стандартные цвета объектов пользовательского интерфейса в macOS; Примеры этих методов включают controlTextColor , gridColor и windowFrameColor . Не следует делать никаких предположений о цветовом пространстве этих цветов. Действительно, для любого цветного объекта рекомендуется не предполагать его цветовое пространство, а вместо этого преобразовывать его в желаемое цветовое пространство перед его использованием.См. Руководство по программированию для цветовых пространств для получения дополнительной информации по этому вопросу.

NSColor предлагает метод colorUsingColorSpaceName: для преобразования цветов из одного цветового пространства в другое. Этот метод принимает в качестве аргумента имя цветового пространства. Вот пример использования этого метода, который преобразует созданный выше объект NSColor из CMYK в цветовое пространство RGB:

 NSColor * bColor = [aColor colorUsingColorSpaceName: NSCalibratedRGBColorSpace]; 

Цветовой объект, созданный этим методом, обычно имеет значения компонентов, которые отличаются от значений компонентов исходного объекта, но цвета выглядят одинаково.Иногда преобразование цвета корректно только для текущего устройства; метод может даже вернуть nil , если запрошенное преобразование не может быть выполнено.

Обратите внимание, что использование метода colorUsingColorSpace: для преобразования цвета между цветовыми пространствами допустимо, но результирующий цвет представлен пользовательским цветовым пространством и не будет реагировать на методы, зависящие от цветового пространства. Например, объект NSColor , созданный с помощью следующего метода, находится в цветовом пространстве RGB, но представлен пользовательским цветовым пространством ( NSColorSpace ), и поэтому вызывает исключение, когда вы отправляете ему сообщение redComponent :

 NSColor * cColor = [aColor colorUsingColorSpace: [NSColorSpace genericRGBColorSpace]]; 

Чтобы получить определенные атрибуты цвета с помощью colorUsingColorSpace: , используйте метод getComponents: , как в следующем примере:

 if (cColor) {
 CGFloat components [4] ; 
 [cColor getComponents: компоненты]; 
} 

Рекомендации по программированию для цветовых пространств

При работе с объектами и цветовыми пространствами NSColor соблюдайте следующие рекомендации.

Какое цветовое пространство мне использовать?

API цветов Какао предоставляют вам диапазон предопределенных цветовых пространств для работы, либо через имена цветовых пространств, либо как объекты, возвращаемые из фабричных методов NSColorSpace . Как узнать, какое цветовое пространство использовать в том или ином контексте программирования?

Обычно рекомендуется использовать калиброванные (или общие) цветовые пространства вместо цветовых пространств устройства. Цвета в цветовом пространстве устройства могут сильно различаться от устройства к устройству, тогда как калиброванные цветовые пространства обычно приводят к достаточно точному цвету.С другой стороны, цветовые пространства устройства могут обеспечить лучшую производительность при определенных обстоятельствах, поэтому, если вы точно знаете устройство, которое будет отображать или захватывать цвет, используйте вместо этого цветовое пространство устройства.

Что касается модели предварительно определенного цветового пространства, это зависит от того, где цвет должен быть отображен или захвачен. Используйте RGB для цветных мониторов и сканеров, NSCalibratedWhiteColorSpace или genericGrayColorSpace для мониторов с оттенками серого и CYMK для принтеров.Если место назначения не определено, используйте RGB.

Могу ли я получить доступ к компонентам любого объекта NSColor?

Недопустимо использование метода доступа, относящегося к компонентам определенного цветового пространства, в объекте NSColor , который не находится в этом цветовом пространстве. Например, методы NSColor , такие как redComponent и getRed: green: blue: alpha: , работают с цветными объектами в калиброванном цветовом пространстве RGB и цветовом пространстве RGB устройства. Если вы отправляете такое сообщение объекту NSColor в цветовом пространстве CMYK, возникает исключение.

Если у вас есть объект NSColor в неизвестном цветовом пространстве и вы хотите извлечь его компоненты, вы должны сначала преобразовать объект цвета в известное цветовое пространство, прежде чем использовать методы доступа к компонентам этого цветового пространства. Например:

 NSColor * aColor = [цвет colorUsingColorSpaceName: NSCalibratedRGBColorSpace]; 
 if (aColor) {
 float rcomp = [aColor redComponent]; 
} 

Если цвет уже находится в запрошенном цветовом пространстве, вы возвращаете исходный объект.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *