Pony Draw - приложение для новичков в рисовании. (ну и первопост)

+108
в блоге IT Pony!
Каждый раз когда я смотрю на замечательные работы художников нашего фендома, я прихожу в неописуемый восторг от уровня их работы и качеством исполнения этой самой работы. Меня всегда захватывает мечта о том что бы тоже научиться так же рисовать и когда нибудь поразить случайного человека моим рисунком. Чему то учиться с нуля дело не простое и достаточно длительное, у меня уже давно нет столько свободного времени что бы освоить какое то новое хобби, но это не означает что не стоит попробовать.
О да, первые мои рисунки — это что то. Не копытца, а сосиски. Не головы, а бесформенная материя. Не грива, а ужас на крыльях ночи, и так далее в том же духе. Рисовать в итоге я так и не научился :)
Так уж случилось что моё основное хобби — это создание различного рода приложений. Для телефонов, планшетов, компьютеров, часов и даже очков. Я не профессиональный разработчик, у меня нет диплома об окончании ВУЗа по этой специальности, все что я умею, это плоды беспрерывных ночей самообучения, которые тянутся по сей день. Это приносит мне безграничное удовольствие, создавать что то, что я могу назвать "своим", быть может не совсем нужное, как привило не красивое и уж точно не замысловатое, но зато своё.
Итак, к чему я все это веду. В один из жарких летних дней, скролля табун я снова увидел бесподобную работу местного художника, и мысль о рисовании снова поглотила меня, но вспоминая о своих бесконечных неудачных попытках, желание быстро сходило на нет. И тогда то до меня и дошла быть может и не самая удачная идея создать приложение которое позволит таким же новичкам как и я практиковаться в рисовании. Вроде бы я сделаю что то хотя бы отдаленно полезное, и совмещу 2 занятия которые греют мне душу — рисование и создание приложений. Так и родилась идея создания приложения Pony Draw.


В чем же заключалась главная идея?
  1. Пользователь должен иметь возможность рисовать
  2. Пользователю должен быть предоставлен «обучающий» контент для практики
  3. «Обучающий» контент не должен ограничивать пользователя, пользователь должен иметь возможность работать со своими собственными изображениями
  4. Пользователь должен иметь возможность сохранить свой рисунок

Немножко подробнееА теперь по порядку.


1. Пользователь должен иметь возможность рисовать

С самого начала у меня возникло множество проблем с реализацией «фундамента» моего приложение. В последнем обновлении Windows 10 Anniversary Update от 2 августа, Microsoft презентовала новый замечательный инструмент для разработчиков под наименованием Windows Ink. Изначально он служил для рукописного ввода на сенсорных экранах, но его так же можно использовать и как холст для рисования, учитывая то что в нем используются более плавные линии. Но проблемы у меня возникли не с ним, а с инструментом зависящим от него — InkToolbar, цель которого предоставить пользователю визуальные элементы управления пером для рисования. После нескольких дней мучений и изучения документации, я нашел несколько багов в этом инструменте, и все равно не смог заставить его правильно функционировать. Пришлось использовать inkToolbar созданный сообществом, в нем намного меньше функционала, но все таки работает. Войну с InkToolbar от Microsoft продолжаю до сих пор, однажды я его все таки поставлю.



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

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



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

Это возможность реализовывалась достаточно просто, под слой для рисования закладывался слой с изображением… ну вот собственно и все. Позже я прикрутил к этому элементу возможность изменять прозрачность рисунка с помощью слайдера. Единственное НО заключается в том что все изображения реализованы в виде BitmapImage принимающим параметры в виде new Uri — иначе говоря, в виде ссылок. Поэтому для нормальной работы приложения обязательно требуется подключение к интернету.



4. Пользователь должен иметь возможность сохранить свой рисунок

Изначально у меня даже и в планах не было такого, идея сохранять изображения зародилась во время поиска бага в inkToolbar, и изучения документации этого элемента. Увы сохранение изображение такого типа изначально возможно только в формате .gif, так что качество изображения оставляет желать лучшего. Лучше использовать «Ножницы» в стандартных программах Windows для сохранения изображения. Как бы там ни было, с этой проблемой я тоже веду беспощадную войну.





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

Одним из самых «неприятных» этапов для меня, это было создание логотипа. Я далеко не дизайнер, так что логотип возможно поменяется парочку десятков раз. Итак, при первом запуске приложения мы можем лицезреть скромный и кривой логотипчик. Фоновый цвет зависит от цвета темы установленной на вашем ПК.
Что ты творишь, шакал, не сжимай


Перед тем как вы сможете работать, перед вами появится сообщение которое предупредит вас о том что приложение не будет правильно работать без интернет подключения.
Предупреждение
Сама рабочая область выглядит следующим образом. (1 — область рисования 2 — базовый контент с изображениями для практики 3 — Слайдер для управления прозрачностью изображения 4 — загрузка собственного изображения 5 — сохранение изображения 6 — инструмент управления пером)
Картинка
Простая картинкаПодробная картинка

И немножко разных скринов.
Разные скрины





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

В начале я хотел назвать это приложение How to draw ponies, но с маркетинговой точки зрения это название через чур длинное, а How to draw уже давно зарезервировано другим приложением. Передо мной стояла задача дать явно понять что это приложение касается «пони контента», и слово «Pony» должно обязательно присутствовать в названии, как и «Draw», не долго думая, я просто соединил 2 эти слова.
Осторожно, присутствует реклама.
Известна проблема что у некоторых людей приложение не запускается на мобильных телефонах с ОС Windows 8.1, проблема решается.

Спасибо что прочли мою статью, надеюсь она вам понравилась.


Если вы хотите посмотреть на приложение своими глазами и пощупать его, то под спойлером вы найдете ссылочку.
СсылкаКартинка
www.microsoft.com/en-us/store/p/pony-draw/9nblggh514g9

47 комментариев

Вообще класс.
Скоро, наверное, придумают про грамму которая будет самостоятельно рисовать за человека.
Как это мило.
Gauss-Destronger-Gunner
0
И такая программа может увеличить количество срисовок.
Gauss-Destronger-Gunner
0
Срисовки были, есть и никуда не денутся, что с такой программой, что без неё. А первый комментарий — вообще чушь несусветная.
Icenight
0
С такой программой даже легче.
Кто знает.
Gauss-Destronger-Gunner
0
Легче, чем через окно переводить? Или чем в фотошопе открыть и перекрасить?
Icenight
0
*Кому как*
Gauss-Destronger-Gunner
0
Он, прав, через три года такие программы действительно будут существовать.
V747
+3
Ниже прикрепил ссылку на кое какую интересность.
Благодарю.
Gauss-Destronger-Gunner
0
Скоро, наверное, придумают про грамму которая будет самостоятельно рисовать за человека.
Как это мило.

А первый комментарий — вообще чушь несусветная.

На самом деле смотря на стремительный рост интереса общества к нейросетям, я более чем уверен что мы увидим такие программы в ближайшем будущем
rarimard
+2
Ну будут программы, генерирующие некие изображения. Прекрасно. Люди от этого перестанут рисовать? Труд хорошего иллюстратора перестанет цениться? Настанет конец света?
Icenight
0
Не думаю. Тут, наверное, будет больше ценится то, на сколько хорошо умеет человек фантазировать…
mekhanism
0
Зачем мне надо будет нанимать человека и ждать пока он что то сделает если это может сделать прога, быстро, красиво и скорее всего опять же дорого.

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

Они умеют обучаться, если им показать много картинок любого брони художника к примеру, затем дать простой рисунок они смогут нарисовать его так, что даже сам автор признает свой стиль, и это страшно знаешь. В какой то мере искусство обесценится.
V747
0
У меня есть некоторые сомнения относительно того, что такая программа сможет выдать по запросу и насколько это будет нужно дорабатывать напильником. И вообще попахивает очередной истерией. С появлением всяких фильтров про ретушёров тоже думали, что они нинужны, авотфиг, нужны. И фотография де убьёт живопись, а кино убьёт театр…
Icenight
0
Gauss-Destronger-Gunner
0
И? На мой лично взгляд — картинки ниачом. Не вижу пока ни конца света, ни стремительного падения стоимости работы художников.
Icenight
0
Прогресс есть, а такие картины просто так не нарисуешь.
Ожидаем более в будующем!
Gauss-Destronger-Gunner
0
М-м-м, нет. Я боюсь, что задача создания рисунков за человека, включая общую идею, сюжет и т.д. является AI-полной, хотя с технической точки зрения — программы продвинутся очень быстро. Я хочу сказать, что в ближайшем будущем мы можем увидеть в граф. редакторах много новых инструментов, основанных на нейросетях, но не программ, генерирующих рисунки самостоятельно в стиле и на уровне лучших художников.
Wolfram
+1
И такое возможно когда нибудь придумают…
Gauss-Destronger-Gunner
-1
Ну, фотоаппарат уже придумали…
Minos
0
Ну да…
Gauss-Destronger-Gunner
0
О, ещё один программист )
Боюсь, подходящей для программы операционной системы нет почти ни у кого
andreymal
+1
Хотя не совсем, по моей статистике аж 28 процентов юзеров вин8 и вин10 набралось)
andreymal
0
Тут, вроде и нету-то ничего, для чего принципиальна новая Винда.
Я бы на месте автора вообще собрал приложение в 32-х битах и под семерку — так точно заработает у 90% аудитории.

Ну и под Линух неплохо бы.
Ginger_Strings
+1
UWP только под вин10, вин8, виндофоны и иксбокс
EasyRainbow
0
На этот вопрос надо искать ответ в первую очередь…
Minos
0
С Первопостом!
Потенциально все может быть очень даже неплохо, да вот вопрос возник — а планируется ли расширение поддерживаемых ОС хотя бы до Семерки?
ProudyHooves
+1
Боюсь это наврятли, но я все же попробую)
Что бы запустить эту программу на семерке придется полностью переписывать её из UWP в WPF… на самом деле главная проблема заключается в том, поддерживает ли WPF те инструменты что я использовал в UWP, если нет — это будет интересным гемороем
rarimard
+5
И это ещё я про линукс не заикнулся :D
andreymal
+3
А, вот в чем беда. Ты, я так понимаю, делал программу под технологию. Это, ну, не очень хорошая идея, потому что юзер пользуется программой, а не технологией. И стоит подбирать технологии под программу.
Ginger_Strings
0
Virtualization твое решение!)
AJFly
+1
В каком плане? Х)
У меня разве что есть ВиртуалБокс, но он далеко не самый свежий :S
ProudyHooves
0
Ну вот и скачай его.
Или WMVare
AJFly
+1
Хорошая программа, но для среднего художника может смотреться как ГМО в творчестве.
lunarinitiate
+2
Эм… ну судя по всему вещь любопытная. Может тогда стоит перенести в специальный блог?
Walkcow
+1
А в каком блоге этот пост будет уместнее всего?
rarimard
+1
Да я что-то не могу понять, с одной стороны программа и ей место в it pony, с другой стороны это помощь в рисовании и стоило бы в бпнх, однако мне кажется пусть лучше будет в айти.
Walkcow
+2
Эм, а разве нельзя открыть слой с рефами в фш гимпе, да вообще в чем угодно, сверху добавить свой и рисовать? Обводить, то есть.
V747
+2
В принципе все это можно реализовать через js
V747
0
Это слишком сложно для среднестатистического понилюба.
GL_DOS
0
Windows 10

иди в жопу
KillMeWithFire
+1
Из архивной пыли поднялся динозавр, который не приемлет современные технологии? :)
Ginger_Strings
0
Я требую заменить этим Микрософт Паинт в дефолтной поставке!
Morano
+1
С прибытием, табуняша! :)



Насчет программы: идея сама по себе не то чтобы сильно нужная, но приятная и полезная. А вот к исполнению вопросы. Я там выше написал про операционки. Помимо этого — нахрена ей соединение с сетью-то? Инфу по чужим компам собираешь? Если нет — избавься от этой необходимости, скомпиль под Win7 x86 — и аудитория твоей программы вырастет в несколько раз.
Ginger_Strings
0
Возможно, в меня кинут тапкой за такую бестактность, но я привык говорить то, что думаю.

Я верю, что у тебя иногда возникает желание рисовать. У меня такое тоже случается, со всеми вытекающими — с кривыми копытами, с разочарованиями и грустным опытом. Я так же верю, что написание программ доставляет тебе удовольствие. Не могу судить, насколько у тебя получается, потому что сам в этом ни в зуб ногой. Но конкретно вот этот гибрид твоих интересов можно рассматривать скорее для получения удовольствия от создания чего-то, чем как реальную пользу — опять же, на мой невежественный взгляд. Граф. редактору, особенно для новичка, нужна стабилизация, коей я в твоей проге не наблюдаю. Без стабилизации юзер так и будет кривенько обводить поней. Можно долго перечилсять, чего здесь не хватает и что стоило бы добавить для жизнеспособности софтины, но не будем о грустном. Будем о весёлом и полезном. Создавая софт, ты должен в первую очередь ориентироваться на вопрос «Что может предложить моя программа юзеру, чего не могут другие?» В чём эксклюзив, где изюминка? Отличительной особенностью твоей программы является предустановленный обучающий контент, помогающий юзеру совершенствоваться в рисовании. Теперь отделим зерна от плевел — основным твоим достижением в результате всех махинаций стала некоторая база учебно-методического материала, который поможет человеку научиться рисовать пони.

У тебя хорошие способности к поиску и обработке информации, что проиллюстрировано выше в твоих трудах над гнустными тулбарами. Предлагаю вот что — не пытайся тягаться с гигантами вроде Adobe или Autodesk. Лучше займись тем, что у тебя хорошо выходит. Ты уже прошерстил интернет в поисках учебных пособий — систематизируй их, уложи поэтапно, допиши примечания. Пользы от хорошего учебного пособия будет гораздо больше, чем от подобной программы.

Впрочем, всё это лишь рассуждения старого, беззубого, выжившего из ума меня. Кто воспринимает всерьёз безумца? =)
Stink
+2
Ink Canvas был в WPF, по прибытию .NET Framework 4.0. Если я правильно понимаю, то ничего сильно зависимого ты не делал, поэтому копипастни в новый проект WPF xaml с кодом и замени свой Canvas на InkCanvas.
Подробнее про InkCanvas в WPF — professorweb.ru/my/WPF/base_WPF/level3/3_14.php
или Троелсен «Язык программирования C# 5.0 и платформа .NET 4.5» глава 28

Так хотя бы избежишь надоедливых нытиков/противников UWP
Sparin
0
Опять грёбаный UWP
EasyRainbow
0
Опять комментарий без аргументов! Ну что за дела?
Sparin
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Скрыто Показать