Рисование дотсом: Дизайн ногтей дотсом: видео фото рисунков.

Содержание

Маникюр с помощью дотса: точки, горошины, капельки, цветочки!

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

В чем главные преимущества дотса?

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

Преимущества дотса неоспоримы!

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

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

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

Инструкция по выполнению маникюра с помощью дотса пошагово

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

  • На листок бумаги или другую «палитру» капните несколько капель лака другого цвета.
  • Окунайте в лак кончик дотса и создавайте на ногтях рисунок.
  • Периодически очищайте шарик от лака влажной салфеткой. Для полной очистки используйте жидкость для снятия лака.
  • Покройте рисунок на ногтях прозрачным закрепителем.

Какие узоры можно нарисовать с помощью дотса?

  • Разнообразные точки. Именно делать узоры в виде точек – первоначальное задание дотса. Даже в переводе с английского «дотс» означает «точки».

  • Запятые. Оригинальные точки с хвостиками смотрятся игриво и колоритно. Запятые могут быть как и самостоятельным украшением ногтей, так и складываться в разные узоры.
  • Капельки. Точки с вытянутым прямо хвостиком рисовать очень просто.

  • Цветы. Состоят из тех же элементов – точек и запятых. Две запятые, развернутые в разные стороны создают лепесток.
  • Волнистые и прямые линии, геометрические фигуры.

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

Дотс – надежный помощник при выполнении французского маникюра

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

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

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

 Легкость в обращении с инструментом, возможность создавать множество рисунков на основе простых точек… Несложная техника маникюра с помощью дотса приобретает все новых почитателей! Это еще одно доказательство того, что все гениальное – безусловно, простое!


Дотс для дизайна ногтей: как пользоваться

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

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

«В какой салон обычно ходишь?» - поинтересовалась я, разглядывая ее пальчики.

«Ага, салон… С нашей з/п только по салонам ходить. Дома я всегда маникюр делаю. А в этот раз дотс использовала. Вобще легко и просто» - ответила мне она.

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

Спросите у стилиста

Есть вопросы по уходу за кожей и волосами? Задайте вопрос и мы обязательно ответим.Задать вопрос

Содержание:Показать

 Что такое дотс для ногтей

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

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

Только такие "кляксы", как на фото вызывают только восхищение.

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

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

Как рисовать дотсом на ногтях пошагово

Вернувшись домой, я тут же ринулась в «бой» осваивать рисунки дотсом. Но все оказалось не так-то просто. Сначала я проделала стандартную процедуру – привела свои пальчики в порядок:

- пилочкой придала форму ногтям;

- щипчиками убрала заусенчики и огрубевшую кожу вокруг ногтя

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

- нанесла защитный слой на ногти, т.к. хотела поработать с яркими лаками.

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

Далее надо будет подобрать подходящие цвета. Т.е один цвет будет основным. Им нужно будет покрыть весь ноготь. А другой цвет (или другие) для узора. Фоновый цвет и цвет рисунка должны сочетаться между собой и гармонировать с вашим образом.

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

Но, как я уже говорила, все оказалось нелегко.

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

Сначала нужно научиться уверенно держать его в руке. Затем пробовать ставить точки, применяя разный нажим. А уж потом создавать рисунки.

Еще один совет:
Опять вернусь к школьной теме (ностальгия, видимо, у меня :)). Домашнюю работу как делали? Сначала на черновике, а уж потом в чистовик. Здесь это так же актуально. Опробуйте свои силы сначала на альбомном листочке. Пофантазируйте на нем с рисунками, а уж потом переходите на чистовик – на ногти. Поверьте, в этом случае сбережете и нервы, и лаки.

Полезные хитрости

Чтобы вам было легче осваивать это мастерство, нужно знать следующее:

- продумайте рисунок и подготовьте соответствующую палитру.

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

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

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

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

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

- как уже и советовала, сделайте пробу рисунка на бумаге.

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

Такой маникюр ничуть не хуже салонных шедевров. А где-то даже лучше, ведь сделано своими руками. Если остались вопросы, жду их в комментариях.

Если статья оказалась полезной, обязательно поделись ею в социальных сетях. Пусть красота шагает по стране 🙂 А напоследок еще фотки с простыми идеями.

Ольга Виноградская

Рисунки на ногтях точками с помощью дотса

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

ДотсЧем можно заменить дотс

Маникюр с помощью дотса

Итак, для работы понадобится следующее:

  • базовое покрытие,
  • лак-фон,
  • лак для точек,
  • дотс или зубочистка,
  • закрепитель.

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

Наносим лаки и рисуем дотсомВот такой маникюр получился

Шаг 2. Теперь вооружаемся зубочисткой или дотсом и ставим точки. На черном и сером лаке ставим белые точки, а на белом – черные. Начинаем рисовать точки от основания ногтя к кончику, постепенно увеличивая их частоту. Желательно стараться ставить маленькие точки, тогда дизайн будет смотреться более сложным и интересным.

Для удобства капните немного лака, которым будете рисовать точки, на плоскую поверхность

Шаг 3. Когда рисунки на ногтях точками будут завершены и полностью высохнут, нанести закрепитель. Лучше применять закрепитель в виде спрея.

Комбинация полосок и точекРисовать дотсом точки очень просто

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

Я немного «погуляла» в Сети и нашла еще несколько интересных вариантов маникюра с точками, предлагаю и вам взглянуть на них.

Варианты узоров дотсом

Простые рисунки на ногтях для начинающих пошагово: 40 фото идей

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

С чего начать – необходимые материалы и маникюрные инструменты

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

Чтобы ногтевая пластина приобрела базовый цвет, необходимо покрытие – лак, гель-лак, гель. А вот дальше – это уже дело творческое. Но все равно трудно обойтись без таких инструментов и материалов:

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

Чем рисуют узоры на ногтях?

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

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

При помощи обычного скотча или фольги

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

Сам рисунок зависит от того, как был приклеен скотч: тонкими полосами или широкими, прямо, зигзагами, по диагонали, или он закрывает часть ногтя, образуя геометрические фигуры.

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

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

Обычными иголками

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

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

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

Техника нанесения рисунка иголкой доступна даже тем, кто ранее дизайном ногтей вовсе не занимался. Главная особенность – успеть нанести красивый узор, пока лак на игле не высох. А если рисунок выполняется точечно, то пока на ногте не высохнут капли лака.

Если расписывать иглой, то наносимая линия будет тоненькой. Также иглой можно очертить контуры рисунка.

Результат рисования иголкой

https://www.youtube.com/watch?v=56cGQcjEFPA

Используя дотс

Результат на ногтях, если расписывать их дотсом, будет схож с тем, что делают с помощью иглы. Только использование дотса для росписи более удобно – на шар наконечника окутывается такое количество лака, что не мешает работе (не скатывается большими порциями и так удобнее нанести ровные линии без «ляпов»).

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

Тонкой кистью

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

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

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

Обычной зубочисткой

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

Декорирование ногтей может проходить на высушенной и на сырой основе. Эффект от этого будет разным.

Зубочистка оставляет значительный след на ногте. Ей удобно рисовать вензеля, цветы, абстракцию и прочее, но тонкой линии от нее добиться практически нереально.

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

С помощью специальных наклеек

Упростить работу по декорированию ногтей могут специальные наклейки – трафареты. С их помощью можно создать самые разнообразные узоры и эффекты на ногтях.

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

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

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

Как нарисовать простой рисунок на ноготках?

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

Гель-лаком

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

Технология покрытия гель-лаком такова:

  1. Подготовленный бафом ноготь нанести праймер (базовый слой). При необходимости подсушить в лампе.
  2. Нанести цветной гель-лак. Вот на этом этапе начинаются отличия в дальнейших действиях. Этот слой можно высушить, а потом дополнить рисунком. Но можно это сделать до того, как ноготь отправится на сушку. Такую технику называют «по мокрому». Только после оформления ногтя происходит просушка в лампе.
  3. Нанести закрепитель, просушить, снять липкость.
Рисование гель-лаком пошагово

Акриловой краской

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

Пошаговое рисование цветка акриловой краской

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

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

С помощью шеллака

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

С помощью кусочков тюля

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

Техника выполнения здесь проста:

  1. Накрасить ногти цветом-основой (он будет выступать в роли цвета итогового рисунка). Дать хорошенько высохнуть.
  2. Прислонить плотно к ноготку кусочек тюли. Поверх нее аккуратно нанести лак другого цвета. Дать высохнуть слою. Убрать тюль.
  3. Покрыть прозрачным лаком.

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

Используя элементы декора

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

Стразы, камни, фольга способны придать ноготкам особого сияния, которое не повторить никакими лаками.

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

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

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

Применяя капельки и точки

Создать необычный, но до боли простой маникюр поможет техника рисования точками. Делают такой маникюр как лаками разных цветов, так и гель-лаками, шеллаком, акриловыми красками. Из инструментов понадобится дотс. Альтернатива – зубочистки, иголка, наконечник от шариковой ручки и т.д.

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

Вариант оформления ноготка в капельной технике

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

Как правильно рисовать дотсом 🚩 как правильно рисовать хидана 🚩 Уход за ногтями

Что нужно для рисования

Прежде всего приобретите дотс. Марка не важна - инструмент можно купить в профессиональном магазине или в самом обычном косметическом отделе. Выбирайте двусторонний дотс с головками разного размера.

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

Простой узор с помощью дотса

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

Горошек красивее всего смотрится на округлых или квадратных ногтях.

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

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

Точки могут быть цветными. Если вы используете разные лаки, тщательно вытирайте дотс перед тем, как окунуть его в новый оттенок эмали.

Французский маникюр с дотсом

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

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

Красивый маникюр с помощью дотса пошагово

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

Каким бы простым ни был процесс работы с дотсом, все нужно делать предельно аккуратно.

Что представляет собой дотс, основные преимущества дотса

Дотсы
 Дотс это не что иное, как инструмент для маникюра, отдаленно напоминающий шариковую ручку. Рабочей его частью является стержень, который заканчивается шариком небольшого размера. Кстати, размер шарика может быть разным, это позволяет создавать разные рисунки, делая маникюр интересным и необычным. В индустрии нейл-арта дотс является весьма востребованным инструментом. Это неудивительно, ведь он обладает массой достоинств, вот некоторые из них:
  • простота и удобство в использовании;
  • маникюр дотсом выполняется достаточно быстро;
  • универсальность – при помощи одного инструмента можно создать разные дизайны, достаточно лишь менять стержни;
  • доступная стоимость;
  • дотс является отличным помощником при декорировании ногтей блестками либо стразами – им можно не только расположить деталь в нужном месте, но и прижать, чтобы она хорошо прикрепилась;
  • практичность в применении – не нужно тратить много времени, чтобы очистить инструмент после окончания работы.
Рисунки дотсом

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

Читайте также: Чем отличается гель лак от шеллака

Красивый маникюр с помощью дотса пошагово

Рассмотрим технологию создания красивого маникюра с помощью дотса пошагово:

1.    Определиться с цветовой гаммой будущего дизайна ногтей и подготовить нужные лаки.
2.    Нанести на поверхность ногтей основной цвет, дождаться полного его высыхания.
3.  Выбрать рисунок и определить его место расположения на поверхности ногтевой пластины.
4.    Взять чистый лист бумаги, нанести на него пару капель лака для ногтей контрастного цвета (вместо бумаги можно взять что угодно – картон, пластик).
5.    Кончик дотса макнуть в лак на бумаге и нарисовать желаемый дизайн на ногтях. Убрать излишки лака с дотса можно при помощи обычной влажной салфетки, если лак уже подсох, на помощь придет жидкость для снятия лака.
6.    Осталось лишь нанести бесцветный закрепитель на поверхность ногтей, чтобы сохранить рисунок как можно дольше.

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

Какие рисунки можно создать, используя дотс?


Многие могут сказать, что дотсом, кроме точек, ничего другого и нарисовать нельзя. Это не соответствует действительности. Рассмотрим подробнее, какой же красивый маникюр дотсом можно сделать.
  • Точки разных размеров – узоры из точек являются первоначальной задачей, для которой и был создан данный инструмент. Об этом свидетельствует даже его название – в дословном переводе оно значит вкрапления, точки.
  • Запятые – любая точка может легким движением руки превратиться в запятую, здесь все предельно ясно.
  • Капельки – это те же точки, только с чуть протянутым хвостиком.
  • Цветы – разнообразные растительные элементы можно с легкостью воссоздать при помощи дотса из тех же точек, капелек и запятых.
  • Прямые линии, волны, геометрические рисунки различных форм.

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

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

Читайте также: Покрытие ногтей гель-лаком: каким лучше?

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







Красивый маникюр с помощью дотса

Красивый маникюр с помощью дотса

Красивый маникюр с помощью дотса



Красивый маникюр с помощью дотса
Красивый маникюр с помощью дотса
Цветочный маникюр с помощью дотса (видео ниже)
Красивый маникюр с помощью дотса
Загляните и в другие разделы - там ещё масса интересного!

Видео: цветочный маникюр с помощью дотса пошагово


Видео: красивый маникюр с помощью дотса пошагово

Drawing dots Скачать бесплатно для Windows

Интерактивная школьная зона 23 Коммерческий

Решайте головоломки из 64-страничной книги или создавайте собственные на ПК.

2 Корпорация Майкрософт 7 Бесплатное ПО

Microsoft Dots! это новая интерактивная стратегическая игра.

1 Ossisoft 4 Бесплатное ПО

Сыграйте в классическую игру с карандашом и бумагой «Точки и квадраты» на ПК против друга или интеллигента.

1 Novel Games Limited 22 Бесплатное ПО

Join the Dots - это простая игра для детей, в которой вы должны соединить точки.

34 Рик Эйххорн 23 Бесплатное ПО

Dots Game - это простая 2D-логическая игра для Windows.

4 CompassFX 21 год Бесплатное ПО

Daily Open Trading System для внутридневной торговли на основе цены.

Пунктирные глаза 74 Бесплатное ПО

Предназначен для обработки данных, передаваемых в рамках EDINA.

177 Программное обеспечение для новых пород 48 348 Открытый источник

Позвольте вашим детям развлечься и учиться с помощью этого удивительного бесплатного инструмента для рисования.

1 Matix Corporation 103 Условно-бесплатное ПО

Clean Run Course Designer - самая популярная в мире программа для проектирования.

DotSoft 6 Коммерческий

SuperScript - это программа для создания сценариев AutoCAD.

1 Дэн Ричи 37 Коммерческий

Инструмент цифровой рисования Project Dogwaffle с визуальными эффектами и 3D-инструментами.

7 Бенгт Дж. Нельсон 299 Бесплатное ПО

Создавайте выкройки для одинарной или двойной привязи.

51 Fabricant par défaut 4 460 Бесплатное ПО

Drawing for Children - это приложение для рисования, специально разработанное для детей.

4 ArcadeStudio.com 338 Условно-бесплатное ПО

Funny Chewer - это своего рода пакман-игра, в которой вы должны съесть все точки.

9 Alawar Entertainment 221 Условно-бесплатное ПО

? Eep бежит по лабиринту, поедая точки и уклоняясь от монстров.

Райнер Дейк 15 Условно-бесплатное ПО

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

9 Демлог PROfirst Group 106 Коммерческий

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

92 GameFabrique 4

Вам нужно провести Пакмана по лабиринту и съесть все точки на доске.

Образовательное программное обеспечение Gray Olltwit Коммерческий

Классическая простая игра, в которой вы соединяете точки, чтобы образовать больше квадратов.

szkrab.net.pl Бесплатное ПО

Kropki - бесплатная игра с точками. Вы можете играть с компьютером или человеком.

1 Novel Games Limited 24 Бесплатное ПО

Double Snake - это игра, в которой вы должны перемещать змею и есть красные точки.

Техника штриховки и рисование с помощью точек Уроки и Как затенять с помощью метода штриховки Учебники по рисованию для лучших иллюстраций, комиксов, мультфильмов

О портретах со штрихами, портретах с вырезом и портретах в точках

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

О Стипплинге

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

Основы цветного карандаша: Цветной карандаш для начинающих: основные штрихи

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

Создание значений в рисунках пером и тушью

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

Как делать поэтапные рисунки

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

Как использовать штриховку в чертежах

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

Учебные пособия по пастели: техники, включая точечную печать

Пастель

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

Использование штриховки в качестве альтернативы штриховки

Стипплинг - это процесс использования точек и очень маленьких штрихов для создания рисунка.

Что такое Стипплинг?

Стипплинг, приведенный к его основной форме, заключается в использовании точек для создания изображения или, по крайней мере, такой большой части изображения, которую могут создать точки.Точки бывают разного размера и расположены на расстоянии друг от друга, так что они передают свет и тени, чтобы глаз «видел» то, что образуют точки. Там, конечно, нет настоящего изображения, просто набор точек.

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

Рисование точек и линий

Рисование точек и линий

В первой главе я обсуждал, как интерфейс графических устройств Windows использует драйверы устройств для устройств вывода графики, подключенных к вашему компьютеру.Теоретически все, что требуется драйверу графического устройства для рисования, - это функция SetPixel и функция GetPixel . Все остальное можно было обрабатывать с помощью подпрограмм более высокого уровня, реализованных в модуле GDI. Для рисования линии, например, просто требуется, чтобы GDI несколько раз вызывал процедуру SetPixel , соответствующим образом корректируя координаты x и y.

На самом деле, вы действительно можете сделать практически любой рисунок, который вам нужен, используя только функции SetPixel и GetPixel .Вы также можете создать аккуратную и хорошо структурированную систему программирования графики поверх этих функций. Единственная проблема - производительность. Функция, которая находится на расстоянии нескольких вызовов от каждой функции SetPixel , будет очень медленной. Для графической системы гораздо эффективнее рисовать линии и другие сложные графические операции на уровне драйвера устройства, который может иметь собственный оптимизированный код для выполнения операций. Более того, некоторые платы видеоадаптеров содержат графические сопроцессоры, которые позволяют самому видеооборудованию рисовать цифры.

Настройка пикселей

Несмотря на то, что Windows GPI включает функции SetPixel и GetPixel , они обычно не используются. В этой книге функция SetPixel используется только в программе CONNECT в главе 7, а функция GetPixel используется только в программе WHATCLR в главе 8. Тем не менее, они предоставляют удобное место для начала изучения графики. .

Функция SetPixel устанавливает пиксель с заданными координатами x и y для определенного цвета:

SetPixel (hdc, x, y, crColor);
 

Как и в любой функции рисования, первый аргумент - это дескриптор контекста устройства.Второй и третий аргументы указывают положение координат. В основном вы получите контекст устройства для клиентской области вашего окна, и x и y будут относиться к левому верхнему углу этой клиентской области. Последний аргумент имеет тип COLORREF, чтобы указать цвет. Если цвет, который вы указываете в функции, не может быть реализован на видеодисплее, функция устанавливает для пикселя ближайший чистый цвет без смещения и возвращает это значение из функции.

Функция GetPixel возвращает цвет пикселя в указанной координатной позиции:

crColor = GetPixel (hdc, x, y);
 

Прямые линии

Windows может рисовать прямые, эллиптические линии (изогнутые линии на окружности эллипса) и сплайны Безье.Windows 98 поддерживает семь функций рисования линий:

  • LineTo Рисует прямую линию.
  • Polyline and PolylineTo Постройте серию соединенных прямых линий.
  • PolyPolyline Рисует несколько полилиний.
  • Дуга Рисует эллиптические линии.
  • PolyBezier и PolyBezierTo Рисуют сплайны Безье.

Кроме того, Windows NT поддерживает еще три функции рисования линий:

  • ArcTo и AngleArc Нарисуйте эллиптические линии.
  • PolyDraw Рисует серию соединенных прямых линий и сплайнов Безье.

Эти три функции не поддерживаются в Windows 98.

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

  • Прямоугольник Рисует прямоугольник.
  • Эллипс Рисует эллипс.
  • RoundRect Рисует прямоугольник с закругленными углами.
  • Pie Рисует часть эллипса, которая выглядит как кусок пирога.
  • Хорда Рисует часть эллипса, образованного хордой.

Пять атрибутов контекста устройства влияют на внешний вид линий, которые вы рисуете с помощью этих функций: текущее положение пера (только для LineTo , PolylineTo , PolyBezierTo и ArcTo ), перо, фоновый режим, цвет фона и режим рисования.

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

MoveToEx (hdc, xBeg, yBeg, NULL);
LineTo (hdc, xEnd, yEnd);
 

MoveToEx фактически ничего не рисует; вместо этого он устанавливает атрибут контекста устройства, известный как «текущая позиция». Затем функция LineTo рисует прямую линию от текущей позиции до точки, указанной в функции LineTo .Текущая позиция - это просто отправная точка для нескольких других функций GDI. В контексте устройства по умолчанию текущая позиция изначально установлена ​​в точку (0, 0). Если вы вызываете LineTo без предварительной установки текущей позиции, он рисует линию, начинающуюся в верхнем левом углу клиентской области.

Краткое историческое примечание: в 16-битных версиях Windows функция установки текущей позиции была MoveTo . У этой функции было всего три аргумента - дескриптор контекста устройства и координаты x и y.Функция вернула предыдущую текущую позицию, упакованную как два 16-битных значения в 32-битную длину без знака. Однако в 32-битных версиях Windows координаты являются 32-битными значениями. Поскольку 32-разрядные версии C не определяют 64-разрядный интегральный тип данных, это изменение означало, что MoveTo больше не мог указывать предыдущую текущую позицию в своем возвращаемом значении. Хотя возвращаемое значение MoveTo почти никогда не использовалось в реальном программировании, потребовалась новая функция, и это была MoveToEx .

Последний аргумент MoveToEx - это указатель на структуру POINT. При возврате из функции поля x и y структуры POINT укажут предыдущую текущую позицию. Если вам не нужна эта информация (что почти всегда так), вы можете просто установить последний аргумент в NULL, как в примере, показанном выше.

А теперь предостережение: хотя значения координат в Windows 98 кажутся 32-битными, используются только младшие 16 бит.Значения координат фактически ограничены от -32 768 до 32 767. В Windows NT используются полные 32-битные значения.

Если вам когда-нибудь понадобится текущая позиция, вы можете получить ее, позвонив

GetCurrentPositionEx (HDC, & pt);
 

, где pt, - это структура ТОЧКИ.

Следующий код рисует сетку в клиентской области окна, разделяя линии на 100 пикселей, начиная с левого верхнего угла.Предполагается, что переменная hwnd является дескриптором окна, hdc - дескриптором контекста устройства, а x и y - целые числа:

GetClientRect (hwnd, & rect);
для (x = 0; x 

 

Хотя кажется неприятным быть вынужденным использовать две функции для рисования одной линии, текущая позиция удобна, когда вы хотите нарисовать серию соединенных линий. Например, вы можете определить массив из 5 точек (10 значений), определяющих контур прямоугольника:

ТОЧКА apt [5] = {100, 100, 200, 100, 200, 200, 100, 200, 100, 100};
 

Обратите внимание, что последняя точка совпадает с первой.Теперь вам нужно использовать только MoveToEx для первой точки и LineTo для последующих точек:

MoveToEx (hdc, apt [0] .x, apt [0] .y, NULL);

для (я = 1; я <5; я ++)
     LineTo (hdc, apt [i] .x, apt [i] .y);
 

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

Если у вас есть массив точек, которые вы хотите соединить линиями, вы можете легче рисовать линии с помощью функции Polyline . Этот оператор рисует тот же прямоугольник, что и в приведенном выше коде:

Ломаная линия (hdc, apt, 5);
 

Последний аргумент - количество баллов. Мы также могли бы представить это значение как sizeof (apt) / sizeof (POINT) . Ломаная линия оказывает такое же влияние на рисование, что и исходная MoveToEx , за которой следует несколько функций LineTo .Однако полилиния не использует и не изменяет текущую позицию. PolylineTo немного отличается. Эта функция использует текущую позицию в качестве начальной точки и устанавливает текущую позицию в конец последней нарисованной линии. Код ниже рисует тот же прямоугольник, что и последний, показанный выше:

MoveToEx (hdc, apt [0] .x, apt [0] .y, NULL);
PolylineTo (hdc, apt + 1, 4);
 

Хотя вы можете использовать Polyline и PolylineTo , чтобы нарисовать всего несколько линий, эти функции наиболее полезны, когда вам нужно нарисовать сложную кривую.Вы делаете это, используя сотни или даже тысячи очень коротких строк. Если они достаточно короткие и их достаточно, вместе они будут выглядеть кривой. Например, предположим, что вам нужно нарисовать синусоидальную волну. Программа SINEWAVE на рисунке 5-6 показывает, как это сделать.

Рисунок 5-6. Программа SINEWAVE.

SINEWAVE.C

/ * -----------------------------------------
   SINEWAVE.C - синусоида с использованием ломаной линии
                 (c) Чарльз Петцольд, 1998 г.
  ----------------------------------------- * /

#include 
#include 

#define NUM 1000
#define TWOPI (2 * 3,14159)

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     статический TCHAR szAppName [] = ТЕКСТ ("Синусоида");
     HWND hwnd;
     MSG msg;
     WNDCLASS wndclass;
     
     wndclass.style = CS_HREDRAW | CS_VREDRAW;
     wndclass.lpfnWndProc = WndProc;
     wndclass.cbClsExtra = 0;
     wndclass.cbWndExtra = 0;
     wndclass.hInstance = hInstance;
     wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
     wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
     wndclass.lpszMenuName = NULL;
     wndclass.lpszClassName = szAppName;
          
     если (! RegisterClass (& wndclass))
     {
          MessageBox (NULL, TEXT («Программа требует Windows NT!»),
                      szAppName, MB_ICONERROR);
          возврат 0;
     }
     
     hwnd = CreateWindow (szAppName, TEXT («Синусоидальная волна с использованием ломаной линии»),
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          NULL, NULL, hInstance, NULL);

     ShowWindow (hwnd, iCmdShow);
     UpdateWindow (hwnd);
     
     while (GetMessage (& msg, NULL, 0, 0))
     {
          TranslateMessage (& сообщение);
          DispatchMessage (& сообщение);
     }
     вернуть сообщение.wParam;
}

LRESULT CALLBACK WndProc (HWND hwnd, сообщение UINT, WPARAM wParam, LPARAM lParam)
{
     статический int cxClient, cyClient;
     HDC hdc;
     int i;
     PAINTSTRUCT ps;
     POINT apt [NUM];
     
     переключатель (сообщение)
     {
     case WM_SIZE:
          cxClient = LOWORD (lParam);
          cyClient = HIWORD (lParam);
          возврат 0;
          
     case WM_PAINT:
          hdc = BeginPaint (hwnd, & ps);
          
          MoveToEx (hdc, 0, cyClient / 2, NULL);
          LineTo (hdc, cxClient, cyClient / 2);
          
          для (я = 0; я <ЧИСЛО; я ++)
          {
               кв [я].х = я * cxClient / ЧИСЛО;
               apt [i] .y = (int) (cyClient / 2 * (1 - sin (TWOPI * i / NUM)));
          }
          
          Ломаная линия (hdc, apt, NUM);
          возврат 0;
          
     case WM_DESTROY:
          PostQuitMessage (0);
          возврат 0;
     }
     вернуть DefWindowProc (hwnd, message, wParam, lParam);
}
 

Программа имеет массив из 1000 структур POINT. Поскольку цикл для увеличивается от 0 до 999, поля x структуры POINT устанавливаются на постепенное увеличение значений от 0 до cxClient .Программа устанавливает для полей и структуры POINT значения синусоидальной кривой для одного цикла и увеличенные для заполнения клиентской области. Вся кривая строится с помощью одного вызова Polyline . Поскольку функция Polyline реализована на уровне драйвера устройства, она выполняется быстрее, чем вызов LineTo 1000 раз. Результаты показаны на Рисунке 5-7.

Рисунок 5-7. Дисплей SINEWAVE.

Функции ограничивающей рамки

Далее я хочу обсудить функцию Arc , которая рисует эллиптическую кривую.Однако функция Arc не имеет особого смысла без предварительного обсуждения функции Ellipse , а функция Ellipse не имеет особого смысла без предварительного обсуждения функции Rectangle , и если я обсуждаю Ellipse и Rectangle , я мог бы также обсудить RoundRect , Chord и Pie .

Проблема в том, что функции Rectangle , Ellipse , RoundRect , Chord и Pie не являются строго функциями рисования линий.Да, функции рисуют линии, но они также заполняют замкнутую область текущей кистью для заполнения области. По умолчанию эта кисть сплошного белого цвета, поэтому может быть неочевидно, что эти функции делают больше, чем просто рисуют линии, когда вы впервые начинаете экспериментировать с ними. Эти функции действительно относятся к более позднему разделу «Рисование заполненных областей», но я все равно буду обсуждать их здесь.

Функции, которые я перечислил выше, похожи в том, что они построены из прямоугольного ограничивающего прямоугольника.«Вы определяете координаты прямоугольника, охватывающего объект - ограничивающего прямоугольника - и Windows рисует объект внутри этого прямоугольника.

Самая простая из этих функций рисует прямоугольник:

Прямоугольник (hdc, xLeft, yTop, xRight, yBottom);
 

Точка ( xLeft , yTop ) - это верхний левый угол прямоугольника, а ( xRight , yBottom ) - нижний правый угол. Рисунок, нарисованный с помощью функции Rectangle , показан на рисунке 5-8.Стороны прямоугольника всегда параллельны горизонтальной и вертикальной сторонам дисплея.

Рисунок 5-8. Фигура, нарисованная с помощью функции Rectangle .

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

Рассмотрим вызов функции

Прямоугольник (HDC, 1, 1, 5, 4);
 

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

Область, разделяющая прямоугольник сверху и слева от клиентской области, имеет ширину 1 пиксель.

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

Если вы научитесь рисовать прямоугольник, вы также узнаете, как рисовать эллипс, потому что он использует те же аргументы:

Эллипс (hdc, xLeft, yTop, xRight, yBottom);
 

Фигура, нарисованная с помощью функции Ellipse , показана (с воображаемой ограничивающей рамкой) на рисунке 5-9.

Рисунок 5-9. Рисунок, нарисованный с помощью функции Ellipse .

Функция рисования прямоугольников со скругленными углами использует ту же ограничивающую рамку, что и функции Rectangle и Ellipse , но включает еще два аргумента:

RoundRect (hdc, xLeft, yTop, xRight, yBottom,
           xCornerEllipse, yCornerEllipse);
 

Рисунок, построенный с использованием этой функции, показан на Рисунке 5-10.

Рисунок 5-10. Рисунок, нарисованный с помощью функции RoundRect .

Windows использует маленький эллипс для рисования закругленных углов. Ширина этого эллипса составляет xCornerEllipse , а высота - yCornerEllipse . Представьте себе, что Windows разбивает этот маленький эллипс на четыре квадранта и использует по одному квадранту для каждого из четырех углов. Закругление углов более заметно при больших значениях xCornerEllipse и yCornerEllipse .Если xCornerEllipse равен разнице между xLeft и xRight , а yCornerEllipse равен разнице между yTop и yBottom , то функция RoundRect отрисует эллипс.

Прямоугольник с закругленными углами на рис. 5-10 был нарисован с использованием размеров углового эллипса, рассчитанных по формулам ниже.

xCornerEllipse = (xRight - xLeft) / 4;
yCornerEllipse = (yBottom- yTop) / 4;
 

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

Функции Arc , Chord и Pie принимают одинаковые аргументы:

Arc (hdc, xLeft, yTop, xRight, yBottom, xStart, yStart, xEnd, yEnd);
Аккорд (hdc, xLeft, yTop, xRight, yBottom, xStart, yStart, xEnd, yEnd);
Круговая диаграмма (hdc, xLeft, yTop, xRight, yBottom, xStart, yStart, xEnd, yEnd);
 

Линия, нарисованная с помощью функции Arc , показана на рисунке 5-11; Фигуры, нарисованные с использованием функций Chord и Pie , показаны на рисунках 5-12 и 5-13.Windows использует воображаемую линию для соединения ( xStart , yStart ) с центром эллипса. В точке, в которой эта линия пересекает эллипс, Windows начинает рисовать дугу против часовой стрелки по окружности эллипса. Windows также использует воображаемую линию для соединения ( xEnd , yEnd ) с центром эллипса. В точке пересечения этой линии с эллипсом Windows прекращает рисование дуги.

Рисунок 5-11. Линия, нарисованная с помощью функции Arc .

Рисунок 5-12. Рисунок, нарисованный с помощью функции Chord .

Рисунок 5-13. Рисунок, нарисованный с помощью функции Pie .

Для функции Arc Windows завершена, потому что дуга представляет собой эллиптическую линию, а не заполненную область. Для функции Chord Windows соединяет конечные точки дуги.Для функции Pie Windows соединяет каждую конечную точку дуги с центром эллипса. Внутренняя часть фигурок аккорда и кругового клина заполнена текущей кистью.

Вы можете задаться вопросом об этом использовании начальной и конечной позиций в функциях Arc , Chord и Pie . Почему бы просто не указать начальную и конечную точки на окружности эллипса? Что ж, вы можете, но вам нужно выяснить, что это за точки.Метод Windows выполняет свою работу, не требуя такой точности.

Программа LINEDEMO, показанная на рис. 5-14, рисует прямоугольник, эллипс, прямоугольник со скругленными углами и две линии, но не в таком порядке. Программа демонстрирует, что эти функции, которые определяют закрытые области, действительно заполняют их, потому что линии скрыты за эллипсом. Результаты показаны на Рисунке 5-15.

Рисунок 5-14. Программа LINEDEMO.

LINEDEMO.C

 / * ----------------------------------------------- ---
   LINEDEMO.C - Демонстрационная программа рисования линий
                 (c) Чарльз Петцольд, 1998 г.
  -------------------------------------------------- * /

#include 

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     статический TCHAR szAppName [] = ТЕКСТ ("LineDemo");
     HWND hwnd;
     MSG msg;
     WNDCLASS wndclass;
     
     wndclass.style = CS_HREDRAW | CS_VREDRAW;
     wndclass.lpfnWndProc = WndProc;
     wndclass.cbClsExtra = 0;
     wndclass.cbWndExtra = 0;
     wndclass.hInstance = hInstance;
     wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
     wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
     wndclass.lpszMenuName = NULL;
     wndclass.lpszClassName = szAppName;
     
     если (! RegisterClass (& wndclass))
     {
          MessageBox (NULL, TEXT («Программа требует Windows NT!»),
                      szAppName, MB_ICONERROR);
          возврат 0;
     }
     
     hwnd = CreateWindow (szAppName, TEXT («Демонстрация строки»),
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          NULL, NULL, hInstance, NULL);
     
     ShowWindow (hwnd, iCmdShow);
     UpdateWindow (hwnd);
     
     while (GetMessage (& msg, NULL, 0, 0))
     {
          TranslateMessage (& сообщение);
          DispatchMessage (& сообщение);
     }
     вернуть сообщение.wParam;
}

LRESULT CALLBACK WndProc (HWND hwnd, сообщение UINT, WPARAM wParam, LPARAM lParam)
{
     статический int cxClient, cyClient;
     HDC hdc;
     PAINTSTRUCT ps;
     
     переключатель (сообщение)
     {
     case WM_SIZE:
          cxClient = LOWORD (lParam);
          cyClient = HIWORD (lParam);
          возврат 0;
          
     case WM_PAINT:
          hdc = BeginPaint (hwnd, & ps);
          
          Прямоугольник (hdc, cxClient / 8, cyClient / 8,
                     7 * cxClient / 8, 7 * cyClient / 8);
          
          MoveToEx (hdc, 0, 0, NULL);
          LineTo (hdc, cxClient, cyClient);
          
          MoveToEx (hdc, 0, cyClient, NULL);
          LineTo (hdc, cxClient, 0);
          
          Эллипс (hdc, cxClient / 8, cyClient / 8,
                     7 * cxClient / 8, 7 * cyClient / 8);
          
          RoundRect (HDC, cxClient / 4, cyClient / 4,
                     3 * cxClient / 4, 3 * cyClient / 4,
                         cxClient / 4, cyClient / 4);
          
          EndPaint (hwnd, & ps);
          возврат 0;
          
     case WM_DESTROY:
          PostQuitMessage (0);
          возврат 0;
     }
     вернуть DefWindowProc (hwnd, message, wParam, lParam);
}
 

Рисунок 5-15. Дисплей LINEDEMO.

Сплайны Безье

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

В настоящее время, конечно же, сплайны - это математические формулы. Они бывают разных видов, но сплайн Безье стал наиболее популярным в программировании компьютерной графики. Это сравнительно недавнее дополнение к арсеналу графических инструментов, доступных на уровне операционной системы, и его источник маловероятен: в 1960-х годах автомобильная компания Renault отказалась от ручного проектирования кузовов автомобилей (в котором использовалась глина) к компьютерному дизайну. Требовались математические инструменты, и Пьер Безье придумал набор формул, которые оказались полезными для этой работы.

С тех пор двумерная форма сплайна Безье зарекомендовала себя как наиболее полезная кривая (после прямой линии и эллипса) для компьютерной графики. В PostScript сплайн Безье используется для всех кривых - даже эллиптические линии аппроксимируются по Безье. Кривые Безье также используются для определения контуров символов шрифтов PostScript. (TrueType использует более простую и быструю форму сплайна.)

Одиночный двумерный сплайн Безье определяется четырьмя точками - двумя конечными точками и двумя контрольными точками.Концы кривой закреплены в двух конечных точках. Контрольные точки действуют как «магниты», отводя кривую от прямой линии между двумя конечными точками. Лучше всего это проиллюстрировано интерактивной программой BEZIER, показанной на рисунке 5-16.

Рисунок 5-16. Программа BEZIER.

BEZIER.C

 / * ---------------------------------------
   BEZIER.C - Демо-версия сплайнов Безье
               (c) Чарльз Петцольд, 1998 г.
  --------------------------------------- * /

#include 

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     статический TCHAR szAppName [] = ТЕКСТ ("Безье");
     HWND hwnd;
     MSG msg;
     WNDCLASS wndclass;
     wndclass.style = CS_HREDRAW | CS_VREDRAW;
     wndclass.lpfnWndProc = WndProc;
     wndclass.cbClsExtra = 0;
     wndclass.cbWndExtra = 0;
     wndclass.hInstance = hInstance;
     wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
     wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
     wndclass.lpszMenuName = NULL;
     wndclass.lpszClassName = szAppName;
     
     если (! RegisterClass (& wndclass))
     {
          MessageBox (NULL, TEXT («Программа требует Windows NT!»),
                      szAppName, MB_ICONERROR);
          возврат 0;
     }
     
     hwnd = CreateWindow (szAppName, ТЕКСТ ("Сплайны Безье"),
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          NULL, NULL, hInstance, NULL);
     
     ShowWindow (hwnd, iCmdShow);
     UpdateWindow (hwnd);
     
     while (GetMessage (& msg, NULL, 0, 0))
     {
          TranslateMessage (& сообщение);
          DispatchMessage (& сообщение);
     }
     вернуть сообщение.wParam;
}

void DrawBezier (HDC hdc, POINT apt [])
{
     PolyBezier (HDC, кв, 4);
     
     MoveToEx (hdc, apt [0] .x, apt [0] .y, NULL);
     LineTo (hdc, apt [1] .x, apt [1] .y);
     
     MoveToEx (hdc, apt [2] .x, apt [2] .y, NULL);
     LineTo (hdc, apt [3] .x, apt [3] .y);
}

LRESULT CALLBACK WndProc (HWND hwnd, сообщение UINT, WPARAM wParam, LPARAM lParam)
{
     static POINT apt [4];
     HDC hdc;
     int cxClient, cyClient;
     PAINTSTRUCT ps;
     
     переключатель (сообщение)
     {
     case WM_SIZE:
          cxClient = LOWORD (lParam);
          cyClient = HIWORD (lParam);
          
          кв [0].х = cxClient / 4;
          apt [0] .y = cyClient / 2;
          
          apt [1] .x = cxClient / 2;
          apt [1] .y = cyClient / 4;
          
          apt [2] .x = cxClient / 2;
          apt [2] .y = 3 * cyClient / 4;
          
          apt [3] .x = 3 * cxClient / 4;
          apt [3] .y = cyClient / 2;
          
          возврат 0;

     case WM_LBUTTONDOWN:
     case WM_RBUTTONDOWN:
     case WM_MOUSEMOVE:
          если (wParam & MK_LBUTTON || wParam & MK_RBUTTON)
          {
               hdc = GetDC (hwnd);
               
               SelectObject (hdc, GetStockObject (WHITE_PEN));
               DrawBezier (HDC, APT);
               
               если (wParam & MK_LBUTTON)
               {
                    кв [1].x = LOWORD (lParam);
                    apt [1] .y = HIWORD (lParam);
               }
               
               если (wParam & MK_RBUTTON)
               {
                    apt [2] .x = LOWORD (lParam);
                    apt [2] .y = HIWORD (lParam);
               }
               
               SelectObject (hdc, GetStockObject (BLACK_PEN));
               DrawBezier (HDC, APT);
               ReleaseDC (hwnd, hdc);
          }
          возврат 0;
          
     case WM_PAINT:
          InvalidateRect (hwnd, NULL, TRUE);
          
          hdc = BeginPaint (hwnd, & ps);
          
          DrawBezier (HDC, APT);
          
          EndPaint (hwnd, & ps);
          возврат 0;
          
     case WM_DESTROY:
          PostQuitMessage (0);
          возврат 0;
     }
     вернуть DefWindowProc (hwnd, message, wParam, lParam);
}
 

Поскольку эта программа использует некоторую логику обработки мыши, о которой мы не узнаем до главы 7, я не буду обсуждать ее внутреннюю работу (которая, тем не менее, может быть очевидной).Вместо этого вы можете использовать программу для экспериментов с манипулированием сплайнами Безье. В этой программе две конечные точки установлены на полпути вниз по клиентской области и ¼ и пути по клиентской области. Двумя контрольными точками можно управлять: первая - нажатием левой кнопки мыши и перемещением мыши, вторая - нажатием правой кнопки мыши и перемещением мыши. На Рис. 5-17 показан типичный дисплей.

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

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

Рисунок 5-17. Дисплей BEZIER.

Во-вторых, сплайн Безье очень хорошо контролируется. В некоторых шлицах кривая не проходит ни через одну из точек, определяющих кривую.Сплайн Безье всегда закреплен в двух конечных точках. (Это одно из предположений, которое используется для вывода формул Безье.) Кроме того, некоторые формы сплайнов имеют особенности, в которых кривая уходит в бесконечность. В компьютерном проектировании это редко бывает желательно. Кривая Безье никогда этого не делает; действительно, он всегда ограничен четырехсторонним многоугольником (называемым «выпуклой оболочкой»), который образован соединением конечных точек и контрольных точек.

В-третьих, еще одна характеристика сплайна Безье включает взаимосвязь между конечными и контрольными точками.Кривая всегда проходит по касательной и в том же направлении, что и прямая линия от начальной точки до первой контрольной точки. (Это наглядно проиллюстрировано программой Безье.) Кроме того, кривая всегда касается и имеет то же направление, что и прямая линия, проведенная от второй контрольной точки до конечной точки. Это два других предположения, использованных для вывода формул Безье.

В-четвертых, шлицы Безье часто эстетичны. Я знаю, что это субъективный критерий, но я не единственный, кто так думает.

До 32-разрядных версий Windows вам нужно было создать свой собственный Безье сплайны с помощью функции Polyline . Вам также потребуются знания о следующих параметрические уравнения для сплайна Безье. Начальная точка (x 0 , y 0 ), а конечной точкой является (x 3 , y 3 ). Две контрольные точки: (x 1 , y 1 ) и (x 2 , y 2 ).Кривая построена для значений т от 0 до 1:

x (t) = (1 - t) 3 x 0 + 3t (1 - т) 2 x 1 + 3 т 2 (1 - t) x 2 + t 3 x 3

y (t) = (1 - t) 3 y 0 + 3t (1 - т) 2 л 1 + 3 т 2 (1 - t) y 2 + t 3 y 3

Вам не нужно знать эти формулы в Windows 98.Чтобы нарисовать один или несколько связанных сплайнов Безье, вы просто вызываете

PolyBezier (HDC, APT, iCount);
 

или

PolyBezierTo (HDC, APT, iCount);
 

В обоих случаях apt представляет собой массив структур POINT. В PolyBezier первые четыре точки указывают (в этом порядке) начальную точку, первую контрольную точку, вторую контрольную точку и конечную точку первой кривой Безье. Для каждой последующей кривой Безье требуется только три дополнительные точки, потому что начальная точка второй кривой Безье совпадает с конечной точкой первой кривой Безье и так далее.Аргумент iCount всегда в 1 плюс три раза превышает количество соединенных кривых, которые вы рисуете.

Функция PolyBezierTo использует текущую позицию для первой начальной точки. Для первого и каждого последующего сплайна Безье требуется всего три точки. Когда функция возвращается, текущая позиция устанавливается на последнюю конечную точку.

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

Использование стандартных ручек

Когда вы вызываете любую из функций рисования линий, которые я обсуждал в этом разделе, Windows использует «перо», выбранное в данный момент в контексте устройства, для рисования линии. Перо определяет цвет, ширину и стиль линии, которая может быть сплошной, пунктирной или штриховой. Перо в контексте устройства по умолчанию называется BLACK_PEN. Это перо рисует сплошную черную линию шириной в один пиксель. BLACK_PEN - одно из трех «стандартных ручек», предоставляемых Windows.Два других - WHITE_PEN и NULL_PEN. NULL_PEN - перо, которое не рисует. Вы также можете создать свои собственные ручки.

В программах Windows вы обращаетесь к перьям с помощью ручки. Заголовочный файл Windows WINDEF.H определяет тип HPEN, дескриптор пера. Вы можете определить переменную (например, hPen ), используя это определение типа:

HPEN hPen;
 

Вы получите дескриптор одного из стандартных перьев, позвонив по номеру GetStockObject .Например, предположим, что вы хотите использовать стандартную ручку WHITE_PEN. У вас получится ручка пера вот так:

hPen = GetStockObject (WHITE_PEN);
 

Теперь вы должны "выбрать" это перо в контексте устройства:

SelectObject (hdc, hPen);
 

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

Вместо того, чтобы явно определять переменную hPen , вы можете вместо этого объединить вызовы GetStockObject и SelectObject в одном операторе:

SelectObject (hdc, GetStockObject (WHITE_PEN));
 

Если вы затем захотите вернуться к использованию BLACK_PEN, вы можете получить дескриптор этого стандартного объекта и выбрать его в контексте устройства одним оператором:

SelectObject (hdc, GetStockObject (BLACK_PEN));
 

SelectObject возвращает дескриптор пера, который был ранее выбран в контексте устройства.Если вы начнете с нового контекста устройства и вызовете

hPen = SelectObject (hdc, GetStockobject (WHITE_PEN));
 

текущее перо в контексте устройства будет WHITE_PEN, а переменная hPen будет дескриптором BLACK_PEN. Затем вы можете выбрать BLACK_PEN в контексте устройства, вызвав

SelectObject (hdc, hPen);
 

Создание, выбор и удаление перьев

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

Вот общая процедура: вы создаете «логическое перо», которое является просто описанием пера, с помощью функции CreatePen или CreatePenIndirect . Эти функции возвращают дескриптор логического пера. Вы выбираете перо в контексте устройства, вызывая SelectObject . Затем вы можете рисовать линии этим новым пером. В любое время в контексте устройства можно выбрать только одно перо.После освобождения контекста устройства (или после того, как вы выберете другое перо в контексте устройства), вы можете удалить созданное вами логическое перо, вызвав DeleteObject . Когда вы это сделаете, дескриптор пера больше не действителен.

Логическое перо - это «объект GDI», один из шести объектов GDI, которые может создать программа. Остальные пять - это кисти, растровые изображения, области, шрифты и палитры. За исключением палитр, все эти объекты выбираются в контексте устройства с помощью SelectObject .

Три правила регулируют использование объектов GDI, таких как перья:

  • В конечном итоге вам следует удалить все созданные вами объекты GDI.
  • Не удалять объекты GDI, пока они выбраны в допустимом контексте устройства.
  • Не удалять стоковые объекты.

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

Общий синтаксис функции CreatePen выглядит следующим образом:

hPen = CreatePen (iPenStyle, iWidth, crColor);
 

Аргумент iPenStyle определяет, рисует ли перо сплошную линию или линию, состоящую из точек или тире. Аргументом может быть один из следующих идентификаторов, определенных в WINGDI.H. На рис. 5-18 показаны линии, создаваемые каждым стилем.

Рисунок 5-18. Семь стилей пера.

Для стилей PS_SOLID, PS_NULL и PS_INSIDEFRAME аргумент iWidth - это ширина пера. Значение 0 iWidth указывает Windows использовать один пиксель для ширины пера. Стандартные ручки имеют ширину 1 пиксель. Если вы укажете стиль пера с пунктиром или пунктиром с физической шириной больше 1, Windows будет использовать сплошное перо.

Аргумент crColor для CreatePen - это значение COLORREF, определяющее цвет пера.Для всех стилей пера, кроме PS_INSIDEFRAME, когда вы выбираете перо в контексте устройства, Windows преобразует цвет в ближайший чистый цвет, который устройство может отображать. PS_INSIDEFRAME - единственный стиль пера, который может использовать смешанный цвет, и то только тогда, когда ширина больше 1.

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

Вы также можете создать перо, настроив структуру типа LOGPEN («логическое перо») и вызвав CreatePenIndirect . Если ваша программа использует много разных перьев, которые вы инициализируете в исходном коде, этот метод, вероятно, более эффективен.

Чтобы использовать CreatePenIndirect , сначала вы определяете структуру типа LOGPEN:

LOGPEN logpen;
 

Эта структура состоит из трех членов: lopnStyle (целое число без знака или UINT) - это стиль пера, lopnWidth (структура POINT) - ширина пера в логических единицах и lopnColor (COLORREF) - цвет пера.Windows использует только поле x структуры lopnWidth для установки ширины пера; он игнорирует поле y .

Вы создаете перо, передавая адрес структуры в CreatePenIndirect :

hPen = CreatePenIndirect (& logpen);
 

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

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

статический HPEN hPen1, hPen2, hPen3;
 

Во время обработки WM_CREATE вы можете создать три пера:

hPen1 = CreatePen (PS_SOLID, 1, 0);
hPen2 = CreatePen (PS_SOLID, 3, RGB (255, 0, 0));
hPen3 = CreatePen (PS_DOT, 0, 0);
 

Во время обработки WM_PAINT (или в любой другой раз, когда у вас есть действительный дескриптор контекста устройства), вы можете выбрать одно из этих перьев в контексте устройства и рисовать с его помощью:

SelectObject (hdc, hPen2);
  [функции рисования линий] 
SelectObject (hdc, hPen1);
  [функции рисования линий] 
 

Во время обработки WM_DESTROY вы можете удалить три созданных вами пера:

DeleteObject (hPen1);
DeleteObject (hPen2);
DeleteObject (hPen3);
 

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

Возможно, вы захотите создать перья на лету и объединить вызовы CreatePen и SelectObject в одном операторе:

SelectObject (hdc, CreatePen (PS_DASH, 0, RGB (255, 0, 0)));
 

Теперь, когда вы рисуете линии, вы будете использовать красную пунктирную ручку.Когда вы закончите рисовать красные пунктирные линии, вы можете удалить перо. Ой! Как удалить перо, если ручка пера не сохранена? Напомним, что SelectObject возвращает дескриптор пера, ранее выбранного в контексте устройства. Это означает, что вы можете удалить перо, выбрав стандартный BLACK_PEN в контексте устройства и удалив значение, возвращаемое из SelectObject :

DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN)));
 

Вот еще способ.Когда вы выбираете перо во вновь созданном контексте устройства, сохраните дескриптор пера, который возвращает SelectObject :

hPen = SelectObject (hdc, CreatePen (PS_DASH, 0, RGB (255, 0, 0)));
 

Что такое hPen ? Если это первый вызов SelectObject , который вы сделали с момента получения контекста устройства, hPen является дескриптором стандартного объекта BLACK_PEN. Теперь вы можете выбрать это перо в контексте устройства и удалить созданное перо (дескриптор, возвращенный этим вторым вызовом SelectObject ) одним оператором:

УдалитьОбъект (SelectObject (hdc, hPen));
 

Если у вас есть дескриптор пера, вы можете получить значения полей структуры LOGPEN, вызвав GetObject :

GetObject (hPen, sizeof (LOGPEN), (LPVOID) & logpen);
 

Если вам нужен дескриптор пера, выбранный в данный момент в контексте устройства, вызовите

hPen = GetCurrentObject (hdc, OBJ_PEN);
 

Я расскажу о другой функции создания пера, ExtCreatePen , в главе 17.

Заполнение пробелов

Использование пунктирных и штриховых перьев вызывает вопрос: что происходит с промежутками между точками и тире? Ну что ты хочешь?

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

Вы можете изменить цвет фона, который Windows использует для заполнения пробелов, вызвав

SetBkColor (hdc, crColor);
 

Как и аргумент crColor , используемый для цвета пера, Windows преобразует этот цвет фона в чистый цвет. Вы можете получить текущий цвет фона, определенный в контексте устройства, вызвав GetBkColor .

Вы также можете запретить Windows заполнять пробелы, изменив фоновый режим на ПРОЗРАЧНЫЙ:

SetBkMode (hdc, ПРОЗРАЧНЫЙ);
 

Windows тогда проигнорирует цвет фона и не заполнит пробелы.Вы можете получить текущий фоновый режим (ПРОЗРАЧНЫЙ или НЕПРЫВНЫЙ), вызвав GetBkMode .

Режимы рисования

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

Когда Windows использует перо для рисования линии, она фактически выполняет побитовую логическую операцию между пикселями пера и пикселями целевой поверхности отображения, где пиксели определяют цвет пера и поверхности отображения. Выполнение побитовой логической операции с пикселями называется «растровой операцией» или «ROP». Поскольку рисование линии включает только два пиксельных шаблона (перо и место назначения), логическая операция называется «двоичной растровой операцией» или «ROP2».«Windows определяет 16 кодов ROP2, которые указывают, как Windows объединяет пиксели пера и пиксели назначения. В контексте устройства по умолчанию режим рисования определяется как R2_COPYPEN, что означает, что Windows просто копирует пиксели пера в место назначения, а именно как мы обычно думаем о ручках.Есть 15 других кодов ROP2.

Откуда берутся эти 16 различных кодов ROP2? Для наглядности предположим, что монохромная система использует 1 бит на пиксель. Цвет назначения (цвет клиентской области окна) может быть либо черным (который мы представим нулевым пикселем), либо белым (представлен одним пикселем).Перо также может быть черным или белым. Существует четыре комбинации использования черного или белого пера для рисования в черном или белом месте: белое перо на белом месте, белое перо на черном месте, черное перо на белом месте и черное перо на белом. черный пункт назначения.

Какого цвета будет конечный объект после рисования пером? Одна из возможностей заключается в том, что линия всегда отображается как черная, независимо от цвета пера или цвета назначения. Этот режим рисования обозначается кодом ROP2 R2_BLACK.Другая возможность заключается в том, что линия отображается как черная, за исключением случаев, когда и ручка, и место назначения черные, и в этом случае линия отображается как белая. Хотя это может показаться немного странным, у Windows есть для этого название. Режим рисования называется R2_NOTMERGEPEN. Windows выполняет побитовую операцию ИЛИ над целевыми пикселями и пикселями пера, а затем инвертирует результат.

В таблице ниже показаны все 16 режимов рисования ROP2. В таблице показано, как сочетаются цвета пера (P) и назначения (D) для получения результата.В столбце «Логическая операция» используется нотация C, чтобы показать, как сочетаются пиксели назначения и пиксели пера.

Ручка (P):

Пункт назначения (D):

1 1 0 0

1 0 1 0

Логическая операция Режим рисования
Результатов: 0 0 0 0 0 R2_ЧЕРНЫЙ
0 0 0 1 ~ (P ¦ D) R2_NOTMERGEPEN
0 0 1 0 ~ P&D R2_MASKNOTPEN
0 0 1 1 ~ P R2_NOTCOPYPEN
0 1 0 0 P&D R2_MASKPENNOT
0 1 0 1 ~ D R2_NOT
0 1 1 0 P ^ D R2_XORPEN
0 1 1 1 ~ (P&D) R2_NOTMASKPEN
1 0 0 0 P&D R2_MASKPEN
1 0 0 1 ~ (P ^ D) R2_NOTXORPEN
1 0 1 0 D R2_NOP
1 0 1 1 ~ P ¦ D R2_MERGENOTPEN
1 1 0 0 -П, R2_COPYPEN (по умолчанию)
1 1 0 1 P ¦ ~ D R2_MERGEPENNOT
1 1 1 0 P ¦ D R2_MERGEPEN
1 1 1 1 1 R2_ БЕЛЫЙ

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

SetROP2 (hdc, iDrawMode);
 

Аргумент iDrawMode является одним из значений, перечисленных в столбце «Режим рисования» таблицы.Вы можете получить текущий режим рисования, используя функцию:

iDrawMode = GetROP2 (hdc);
 

Контекст устройства по умолчанию - R2_COPYPEN, который просто передает цвет пера в место назначения. В режиме R2_NOTCOPYPEN отображается белый цвет, если цвет пера черный, и черный, если цвет пера белый. В режиме R2_BLACK всегда отображается черный цвет, независимо от цвета пера или фона. Аналогично, режим R2_WHITE всегда отображает белый цвет. Режим R2_NOP - это «без операции»."Пункт назначения остается неизменным.

Мы изучали режим рисования в контексте монохромной системы. Однако большинство систем - цветные. В цветовых системах Windows выполняет побитовые операции режима рисования для каждого цветового бита пера и целевых пикселей и снова использует 16 кодов ROP2, описанных в предыдущей таблице. Режим рисования R2_NOT всегда инвертирует целевой цвет для определения цвета линии, независимо от цвета пера.Например, линия, нарисованная на голубом месте назначения, будет пурпурной. В режиме R2_NOT перо всегда становится видимым, кроме случаев, когда перо нарисовано на среднем сером фоне. Я продемонстрирую использование режима рисования R2_NOT в программах BLOKOUT в главе 7.

точек - boxDocs

boxDocs
  • О BoxCutter
  • Страница продаж
  • Начало работы с Boxcutter
    • Установка
    • Горячие клавиши
    • Предпочтения
    • Начиная
    • Режим редактирования
    • Интерфейс
    • Формы
    • Исчезать
    • Точки
      • Повторное введение точек
      • Режим редактирования формы
      • Переключатель точки
      • Манипуляции с рисованием точек
      • Использование точек для совершенствования радиального массива.

Похожие записи

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

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