“Чтобы было красиво!” – рисуем в сообщениях ВК. Анимированное граффити в сообщениях вконтакте — gif, png Граффити в контакте на стену программа
Граффити в контакте — это уникальный способ общения между друзьями, который оставался практически неизменным с самого основания социальной сети. Пользователи рисуют друг другу поздравления на стенах, напоминания, шутки и даже полноценные картины потрясающего качества.
Рисовать можно самостоятельно, а можно воспользоваться для этого специальными приложениями, которые сделают данный процесс легче и эффективнее.
Подборка граффити в контакте с сайта сайт:
Если же рисовать самостоятельно красивые картинки у вас не совсем получается — воспользуйтесь одной из предложенных нами программ.
Сайт собрал список всех программ, с помощью которых можно рисовать красивые граффити для контакта.
Программы для создания граффити
Программа VKPaint
Эта программа для граффити позволяет легко и быстро создавать рисунки для контакта. Все, что вам нужно — это загрузить свое изображение с компьютера или галереи, дорисовать желаемое и отправить на стену другу.
Программа Vkpicture (VkonPic)
Обладает немного меньшим функционалом, чем предыдущая. Здесь нет возможности создавать фотопазлы, но зато предусмотрены некоторые другие возможности.
Загружать изображение вы можете перетаскивая его на экран приложения. При этом вы можете выбрать — нужно ли изменять пропорции рисунка или нет. Отправлять созданное граффити вы можете одному другу, сразу нескольким друзьям или же на стену сообщества.
Графического редактора в программе нет.
Многофункциональная программа для пользователей контакта, которая позволяет скачивать музыку и видео, уведомляет о новых сообщениях и удалившихся друзьях, а также позволяет загружать на сайт граффити.
Чтобы добавить рисунок через программу VKLife — в верхнем меню браузера нажмите Граффити и выберите файл на компьютере.
Устаревшие утилиты: sWall, voption, граффити от гугла – сейчас эти программы закрыты и не поддерживаются.
Как нарисовать граффити самостоятельно
Проделайте следующие действия:
Окно создания выглядит довольно просто, а функционал его оставался неизменным на протяжении уже нескольких лет.
Создавая рисунок, Вы можете выбирать следующие параметры кисти:
- цвет;
- толщина;
- интенсивность.
Также есть возможность отменять свои предыдущие действия, нажимая кнопку «Отменить».
Не забывайте радовать своих друзей оригинальными сообщениями и картинками, или даже своими фотографиями с подписью. Красивые граффити в контакте — это отличный способ выразить свои эмоции тогда, когда нет подходящих слов, или же они будут лишними.
Приложение Вконтакте — замечательная интернет-основа для общения с людьми и проведения времени онлайн. Здесь вы можете вступать в сообщества, находить группы по своим интересам, смотреть фотографии друзей, интересные видеоролики, слушать популярную музыку, а также делится всеми новостями с друзьями с помощью переписки.
В нашей сегодняшней статье вы сможете научится рисовать граффити в личных сообщениях в социальной сети вконтакте, вы найдете пошаговую инструкцию и ответы на все интересующие вас вопросы.
Для начала давайте разберемся, какие еще возможности мы имеем при переписке с друзьями Вконтакте. Чем больше работает приложение (а оно было создано осенью 2006 года), тем больше полезных в использовании функций оно обретает, и вот некоторые из них:
Рисуем граффити в сообщениях пошаговая инструкция
Граффити раньше было очень популярно и его рисовали на стенах пользователей, теперь же данная функция больше востребована в личных сообщениях. Давайте более подробно рассмотрим как это можно сделать, ниже мы предоставим полную пошаговую инструкцию.
- Зайдите на сайт Вконтакте, и выберите человека, которому вы собираетесь написать. Перейдите в диалог с ним (если он у вас есть) или воспользуйтесь инструкцией по его созданию, что займет у вас не больше доли секунды.
- Нажмите на кнопку «написать сообщение», а потом перейдите по ссылке «перейти к диалогу с (имя вашего друга)».
- В нижней части страницы рядом с вводной строкой нажмите на изображение скрепки, обозначающей прикрепления файла. Выберите вариант отправки изображения, после чего в появившемся окне найдите необходимый файл, на котором вы планируете нарисовать граффити, или пустой снимок, сделанный при помощи Paint (просто зайдите в приложение и сохраните пустой белый фон).
- Дважды щелкните левой кнопкой мыши по изображению и дождитесь его загрузки в нижней части страницы.
- Теперь наведите мышью на изображение и нажмите на изображение смайлика (при наведении курсора на него высвечивается надпись «эффекты»).
- В открывшемся окне перейдите на вкладку «рисование» и, используя различные цвета, толщину и интенсивность маркера, нарисуйте желаемое граффити.
- Готовое изображение сохраните, щелкнув по соответствующей кнопке. После того как загрузка завершится, ваше граффити готово и его можно отправлять вашему другу.
Полезная функция как рисовать граффити на фотографиях.
Мы только что рассказали вам, как отправить граффити в вк в сообщениях. Это оказалось очень легко и быстро. А сейчас давайте рассмотрим возможные пути использования данной инновации приложения Вконтакте.
Вы можете графически изображать ваши мысли, начиная от объяснения, как пройти вашему другу до нужного места, и заканчивая различными формулами и рисунками.
Это замечательный способ, чтобы подрисовать что-то на фотографии или указать ошибку в предложении, подчеркнув ее ярким маркером. Так же будет удобно вести переписку, используя неклассические языки, требующие графической иллюстрации.
Теперь вы знаете, как использовать удобную функцию Вконтакте по рисованию граффити. Мы надеемся, что урок был понятным и полезным для вас, и вы смогли найти нужные для вас ответы на вопросы!
Функция граффити ВК появилась еще в 2007 году. Она представляет собой возможность оставить у себя или у друга на стене красочный рисунок, который вы создали сами. Сейчас, благодаря обновленному интерфейсу, этот сервис набирает новые обороты и вновь становится популярен. Ранее он был доступен только владельцам смартфонов на базе Android и Windows. Теперь же опробовать эту забавную функцию может каждый желающий.
Что такое граффити? Где находится и как выглядит
Итак, мы уже выяснили, что такое послание, вы можете разместить прямо на стене или в сообщении. Кроме того, вы можете украсить им фотографию и отправить ее в диалог.
По какой-то причине разработчики разделили возможности этого сервиса для ПК и для телефонов. С телефона вы не можете разместить граффити на стене без фото, зато можете нарисовать его в сообщении. А с ПК, наоборот, в сообщении только поверх фото, а на стене свободно.
На компьютере
При использовании полной версии ВК может возникнуть вопрос — как отправить граффити в ВК с компьютера. Если сейчас вас интересует именно это, то читайте дальше.
Как разместить на стене
Для начала разберемся, как нарисовать граффити в ВК на стене:
- Откройте свою страничку в ВК.
- Если вы хотите оставить такое послание на своей стене, то кликните по строке «Что у Вас нового» , если у друга, то перейдите к нему на страничку и кликните строку «Напишите что-нибудь…».
- Внизу появится меню, наведите курсор на надпись «Еще».
- В выпадающем меню нажмите «Граффити».
- Перед вами откроется окно, где вы и можете дать волю своей творческой фантазии. Вы можете изменять цвет кисти (палитра содержит массу красивых цветов и их оттенков), а также ее толщину и интенсивность (Прозрачность).
- Когда ваше художественное послание будет готово, нажмите «Прикрепить», а затем «Опубликовать».
Если кто-то оставит такую картинку на вашей стене, то под ним вы увидите кнопку «Нарисовать на его стене». Нажмите на нее и сразу окажетесь в окошке для рисования на стене этого человека.
Как отправить в сообщении
Рисовать граффити в ВК на ПК в сообщениях вы можете только поверх фотографий. Для этого:
- Зайдите в ВК.
- Откройте диалог с другом, которому хотите отправить рисунок.
- Кликните по символу скрепки, позволяющей прикреплять файлы и выберите «Фотографии».
- Выберите из списка или загрузите фото, оно появится под строкой сообщения.
- Наведите на него курсор и кликните по значку лупы, которое появится на изображении.
- Теперь нажмите «Еще» и выберите «Эффекты».
- Справа появится поле для редактирования, а сверху вы увидите пункт «Рисование».
- Нажмите значок с изображением картинок и выберите фото, которое хотите дорисовать.
- Разверните его и нажмите «Редактировать», затем внизу «Рисунок».
- Можете творить. После чего нажмите «Разместить».
Как отправить в сообщении
Здесь все гораздо проще. Эта функция на телефоне продумана и легко запускается:
- Зайдите в свой аккаунт и перейдите в диалог с другом, которого хотите порадовать своим творчеством.
- Нажмите на символ скрепки в строке ввода текста.
- Перед вами откроется список фотографий, а наверху блока будут находится серые виджеты других функций — прокрутите их влево, пока не найдете значок «Граффити», нажмите на него.
- Нажмите «Нарисовать» и наслаждайтесь процессом.
Цветовая палитра здесь не такая богатая, как в версии для ПК, но ее вполне достаточно. Также здесь есть настройки толщины кисти и функция ластика.
Конечно варианты с предварительной загрузкой фотографии не являются граффити в прямом понимании этого сервиса в ВК, но набор предлагаемых в этом случае инструментов является тем же.
Не умеете рисовать? Выход есть
Существуют программы, они являются дополнительными инструментами и позволяют как загрузить граффити в ВК из готовых наборов, так и отправить картинку в виде граффити на стену или в диалоге в ВК.
Казалось бы, какой смысл загружать картинку или фото через эту функцию, если можно просто отправить его на стену или в диалоге.
Все дело в размере. Медиа, загруженные таким образом, выглядят эффектнее за счет увеличенного разрешения.
VKPaint
- Скачайте и установите программу. Авторизируйтесь, введя свой логин и пароль от ВК.
- Откройте программу и загрузите фото или картинку, которую нужно преобразовать в граффити.
- Программа автоматически создаст нужный файл, который вы сможете тут же дорисовать предоставленными инструментами.
- Если вы хотите воспользоваться картинкой из готового набора, откройте галерею, нажав на кнопку с соответствующей надписью.
- Нажмите «Отправить граффити».
- Откроется окошко, где в строке «Где разместить» нужно ввести адрес страницы друга или свою.
- Нажмите «Отправить».
Теперь вы можете полюбоваться на красивое послание на стене у себя или друга.
VKLife
Еще одно приложение, обладающее куда более обширным функционалом, чем предыдущее. С его помощью вы сможете установить режим невидимки, видео, музыку, а также вставлять картинки в граффити ВК.
- Скачайте и установите программу.
- Войдите в ВК и загрузите в свой альбом нужную фотографию/картинку.
- Зайдите на страницу к другу и вызовите функцию граффити, как описано в самой первой инструкции этой статьи.
- Вставьте картинку из альбома в появившееся окно.
- Кликните «Опубликовать на стене» . Готово!
Теперь вы знаете как сделать граффити в ВК из фото с помощью еще одного удобного приложения.
Используя подобные программы, вы можете скачать дополнительные наборы граффити для ВК, которые будут появляться в основной коллекции.
Вот и подошла к концу наша статья. Мы с вами выяснили как делать граффити в ВК самостоятельно и какие программки могут прийти вам на помощь. Вообще это довольно удобная функция ВК, которая не только поможет вам проявить свои творческие способности, но и удивить друзей необычными, яркими картинками и фотографиями.
Наверное, вы видели анимированные изображения в комментариях ВКонтакте, которые запускаются автоматически. Они представляют из себя PNG анимацию, которую кто-то добавил себе в документы, а затем оставил комментарий с этим изображением. Да, именно PNG, а не GIF. В результате картинка представляет из себя не статичное изображение со ссылкой на анимированную версию, а полноценную анимацию. Если скачать такое изображение себе, залить его в свои документы ВКонтакте, а затем опубликовать в комментарии, то анимация будет работать. Если же попытаться загрузить свою анимированную картинку PNG или GIF в документы, а затем опубликовать ее в комментариях, то анимация работать не будет. Что ж, давайте разберемся, как сделать анимированное граффити в сообщениях вконтакте gif png.
Вам потребуется только браузер, ваш аккаунт ВКонтакте и gif-анимация, из которой вы хотите сделать анимированное граффити. Никаких сомнительных программ скачивать не нужно. Также, как и не нужно вводить данные своей учетной записи где-либо. Вы сможете сделать все самостоятельно без использования дополнительных инструментов.
Как создать анимированную, самозапускающуюся GIF для комментариев вк
1. Вначале нужно подготовить файл анимации. Выберите гифку, которую вы хотите использовать. Не используйте файлы слишком большого разрешения. Такие файлы получаются большого размера и могут работать некорректно. Для того, чтобы все получилось, обычную GIF-анимацию нужно сконвертировать в анимированное PNG изображение. Обратите внимание, что изображение нужно именно сконвертировать, а не просто изменить расширение с *.gif на *.png. Если вы просто измените расширение файла, ВКонтакте определит это и ничего не получится. Есть довольно много способов конвертировать изображение. Можете воспользоваться любым на свое усмотрение. Чтобы ничего не скачивать, воспользуйтесь одним из онлайн-конвертеров. Например, этим:
Выберите ваше gif изображение и загрузите его на сайт:
Затем нажмите «Convert to APNG!»:
Дождитесь окончания конвертации и скачайте анимированный png файл. Будьте внимательны, он будет ниже, под надписью Output APNG image:
Задайте файлу любое имя, используя латиницу и/или цифры.
Файл готов, теперь его особым способом нужно загрузить в документы вконтакте.
2. Зайдите на сайт ВКонтакте и войдите в свою учетную запись. Так, как вы обычно это делаете.
3. Перейдите в раздел документации для разработчиков ВКонтакте. На данном этапе потребуется docs.getMessagesUploadServer . Чтобы не искать вручную, воспользуйтесь ссылкой:
Пролистайте страницу в самый низ и найдите там «Пример запроса» . Заполните поля так, как показано на картинке.
В поле type введите значение graffiti
В поле peer_id введите значение 1
Version оставьте без изменений , в данном примере использовалась версия 5.92
Нажмите «Выполнить» .
После того, как вы нажали «Выполнить», появится возможность загрузить файл. Выберите *.png файл, который сконвертировали до этого:
Если файл был сконвертирован правильно, то результат должен выглядеть так, как на картинке ниже. Теперь скопируйте все, что идет в кавычках после «file» :. На картинке выделено серым, сами кавычки копировать не нужно:
4. Перейдите в раздел документации для разработчиков, найдите docs.save . Или воспользуйтесь ссылкой:
Пролистайте в нижнюю часть страницы и найдите «Пример запроса» . Из полей file, title, tags удалите все, что там есть. В поле file вставьте скопированный текст, нажмите «Выполнить» :
Результат должен быть аналогичен тому, что на картинке. Никаких ошибок (error) не должно быть.
5. Теперь нужно загрузить анимированный *.png файл, который был сделан в первом пункте, в свои документы ВКонтакте. Документы находятся по адресу https://vk.com/docs
При загрузке файла выберите тип «Другой документ». Не переименовывайте файл до того, как он будет загружен в документы! После загрузки имя можно изменить.
6. Нажмите правой кнопкой мыши по названию загруженного файла и выберите «Копировать адрес ссылки». Вставьте ссылку в комментарий на любой странице, в группе или в сообществе и нажмите «Отправить». Также можно отправлять анимацию в личных сообщениях.
Анимация работает только в браузере на компьютере или в полной версии мобильного браузера. В приложении ВКонтакте такая анимация воспроизводиться не будет. Вместо анимации будет отображена статичная картинка, которая ведет себя как стикер. Ее нельзя открыть на весь экран и увеличить, можно только посмотреть.
Возможные ошибки при создании анимированных граффити
Если ВКонтакте с момента публикации ничего не изменилось, а создать анимированное граффити не получается, вероятнее всего вы что-то делаете не так. Вот самые распространенные ошибки, которые могут возникнуть.
Если в 3 пункте во время загрузки изображения возникает такая ошибка:
{«error»:»bad graffiti extension»,»error_descr»:»bad graffiti extension»}
{ «error» : «bad graffiti extension» , «error_descr» : «bad graffiti extension» } |
то это значит, что вы используете неподходящее изображение. Ошибка возникает в том случае, если, например, изображение.*gif не было сконвертировано в.*png, а просто изменилось расширение у файла. Такое может произойти при использовании некоторых программ и сервисов, которые переименовывают, а не конвертируют изображения. Или же в том случае, если вы переименовали изображение самостоятельно, не сконвертировав его.
Если в 4 пункте, когда вы вставляете скопированный текст, вы видите что-то подобное
«key» : «oauth» ,
«value» : «1»
то скорее всего текст был скопирован не полностью или с какими-либо ошибками.
Альтернативные способы создания анимированного граффити ВК
- На гитхабе есть исходники программы для создания и автоматической загрузки анимированного граффити сразу в документы ВКонтакте. Программа написана на языке python, найти ее можно по запросу Upload png image as a graffiti to VK.COM в поисковике. Для того, чтобы ее использовать, нужно собрать программу в.exe файл с помощью PyInstaller. Все инструкции там есть. Однако не для всех такой метод будет проще, а главное быстрее, чем описанный метод.
- Также в сети есть уже собранный вариант этой программы. Для использования достаточно ее скачать, запустить и авторизоваться в ней под своей учетной записью. Однако это может быть небезопасно, так как автор мог поместить в этот файл все, что угодно. При этом антивирус может не обнаружить там ничего вредоносного. Поэтому используйте такой вариант только в том случае, если на 100% доверяете автору.
- Приложение вконтакте Image to the Graffiti — загружает анимированное граффити сразу в документы. Работает с перебоями, если повезет, то все получится.
- Боты в telegram. Сложно посоветовать какой-то конкретный. Их много, но все они работают ненадежно.
Что ж, надеюсь, что у вас все получится. Если все же что-то не получается, то оставляйте комментарии, попробуем разобраться. Лучшая благодарность автору – репост данной записи.
Рисуем красивые трейсбеки, перехватывая исключения в Python / Хабр
Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более простыми и эффективными.
На пути к этой цели мы узнаем о том, как реализовывать и использовать собственные перехватчики исключений (exception hook), которые позволяют убрать из трейсбеков весь «информационный шум». Мы поговорим о том, как улучшить читабельность отчётов о трассировке стека, как выводить в них лишь то, что нужно для решения проблем с Python-кодом и с возникающими в процессе его работы исключениями. Кроме того, мы посмотрим на несколько потрясающих Python-библиотек, в которых имеются готовые к использованию, хорошо сделанные перехватчики исключений. Их можно использовать без необходимости написания собственного кода перехватчиков.
Перехватчики исключений
Всякий раз, когда возникает исключение, которое не обрабатывается в блоке try/except
, вызывается функция, назначенная sys.excepthook
. Эта функция, называемая перехватчиком исключения, применяется для вывода любых полезных сведений о происшествии в стандартный поток вывода. Для этого она пользуется тремя получаемыми ей аргументами — type
(класс исключения), value
(экземпляр исключения) и traceback
(объект трассировки).Разберём минимальный пример, демонстрирующий работу этого механизма:
import sys def exception_hook(exc_type, exc_value, tb): print('Traceback:') filename = tb.tb_frame.f_code.co_filename name = tb.tb_frame.f_code.co_name line_no = tb.tb_lineno print(f"File {filename} line {line_no}, in {name}") # Класс и экземпляр исключения print(f"{exc_type.name}, Message: {exc_value}") sys.excepthook = exception_hook
Тут мы применяем вышеупомянутые аргументы для того чтобы вывести основные данные трассировки, имеющие отношение к исключению. А именно, объект трассировки (tb
) используется для работы со сведениями о трассировке кадров стека. Там содержатся данные, описывающие место возникновения исключения — имя файла (f_code.co_filename
), имя функции/модуля (f_code.co_name
) и номер строки (tb_lineno
).
Кроме того, мы выводим и сведения о самом исключении, пользуясь переменными exc_type
и exc_value
.
Теперь мы можем вызвать функцию, которая вызывает некое исключение. При наличии такого перехватчика мы увидим сообщение, показанное в нижней части следующего фрагмента кода:
def do_stuff(): # ... сделать что-то такое, что вызывает исключение raise ValueError("Some error message") do_stuff() Traceback: File /home/some/path/exception_hooks.py line 22, in <module> ValueError, Message: Some error message
Здесь имеются лишь некоторые сведения об исключении. Для того чтобы увидеть всю информацию, необходимую для отладки кода, а так же — чтобы получить полное представление о том, где и почему произошло исключение, нам нужно поглубже «зарыться» в объект трассировки:
def exception_hook(exc_type, exc_value, tb): local_vars = {} while tb: filename = tb. tb_frame.f_code.co_filename name = tb.tb_frame.f_code.co_name line_no = tb.tb_lineno print(f"File {filename} line {line_no}, in {name}") local_vars = tb.tb_frame.f_locals tb = tb.tb_next print(f"Local variables in top frame: {local_vars}") ... File /home/some/path/exception_hooks.py line 41, in <module> File /home/some/path/exception_hooks.py line 7, in do_stuff Local variables in top frame: {'some_var': 'data'}
Как видите, объект трассировки (tb
), на самом деле, представляет собой связный список произошедших исключений — стектрейс. Этот факт позволяет нам пройтись по данному списку с помощью tb_next
и вывести сведения о каждом кадре стека. Более того — можно, воспользовавшись атрибутом tb_frame.f_locals
, вывести в консоль локальные переменные. Это способно оказать нам помощь при отладке кода.
Просмотр содержимого объекта трассировки, как мы уже видели, имеет смысл, но получаемые данные плохо организованы, их, по мере роста масштабов задачи, всё сложнее и сложнее воспринимать. Поэтому лучше будет воспользоваться модулем traceback
, в котором имеется множество вспомогательных функций, нацеленных на извлечение информации об исключениях.
Теперь, когда мы разобрались с основами, поговорим о том, как создавать собственные перехватчики исключений, обладающие возможностями, способными принести пользу в реальной работе.
Создание собственных перехватчиков исключений
Когда происходит перехват исключения, вывод данных о нём в stdout
— это далеко не всё, что можно с ним сделать. В частности, ещё можно автоматически вывести данные об исключении в файл:
LOG_FILE_PATH = "./some.log" FILE = open(LOG_FILE_PATH, mode="w") def exception_hook(exc_type, exc_value, tb): FILE.write("*** Exception: ***\n") traceback.print_exc(file=FILE) FILE.write("\n*** Traceback: ***\n") traceback.print_tb(tb, file=FILE) *** Exception: *** NoneType: None # *** Traceback: *** File "/home/some/path/exception_hooks.py", line 82, in <module> do_stuff() File "/home/some/path/exception_hooks. py", line 7, in do_stuff raise ValueError("Some error message")
Подобный подход может оказаться полезным в ситуациях, когда программист хочет сохранить сведения о неперехваченных исключениях для дальнейшего анализа.
Сообщения о неперехваченных исключениях, по умолчанию, выводятся в stderr
, стандартный поток ошибок. А это может быть нежелательным в том случае, если имеется система логирования исключений, и нужно, чтобы эта система обрабатывала бы то, что выводится в стандартный поток ошибок. Для того чтобы система логирования работала бы именно так — можно воспользоваться следующим перехватчиком:
import logging logging.basicConfig( level=logging.CRITICAL, format='[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', datefmt='%H:%M:%S', stream=sys.stdout ) def exception_hook(exc_type, exc_value, exc_traceback): logging.critical("Uncaught exception:", exc_info=(exc_type, exc_value, exc_traceback)) [17:28:33] {/home/some/path/exception_hooks. py:117} CRITICAL - Uncaught exception: Traceback (most recent call last): File "/home/some/path/exception_hooks.py", line 122, in <module> do_stuff() File "/home/some/path/exception_hooks.py", line 7, in do_stuff raise ValueError("Some error message") ValueError: Some error message
Когда пытаешься улучшить то, что выводится в консоль, первое, что приходит в голову — оформление текста путём цветового выделения самого важного:
# pip install colorama from colorama import init, Fore init(autoreset=True) # Сбросить цвета после каждой операции вывода данных def exception_hook(exc_type, exc_value, tb): local_vars = {} while tb: filename = tb.tb_frame.f_code.co_filename name = tb.tb_frame.f_code.co_name line_no = tb.tb_lineno # Снабдить строку сведениями о нужном цвете (например - цветом с кодом RED) print(f"{Fore.RED}File {filename} line {line_no}, in {name}") local_vars = tb.tb_frame.f_locals tb = tb. tb_next print(f"{Fore.GREEN}Local variables in top frame: {local_vars}")
Конечно, для улучшения внешнего вида того, что выводится в консоль, можно сделать ещё много всего. Например, можно выводить для каждого кадра локальные переменные, или даже искать переменные, к которым были обращения из строки, в которой произошло исключение. Неудивительно то, что уже созданы перехватчики исключений, реализующие подобные сценарии. Поэтому, если вам это нужно, вместо того, чтобы пытаться создать нечто подобное полностью самостоятельно, я рекомендую взглянуть на следующий код, который способен вдохновить вас на собственные разработки:
Вывод локальных переменных из каждого кадра
Вывод дополнительных сведений о кадре (о переменных, к которым осуществляются обращения из кадра)
И наконец — мне хотелось бы вас предостеречь. Всякий раз, когда вы решаете установить перехватчик исключений, учитывайте то, что применяемые вами библиотеки могут устанавливать собственные перехватчики. Удостоверьтесь в том, что вы эти перехватчики не переопределили. В подобных случаях можно поступить иначе — воспользоваться конструкцией try/except
и, в блоке except
, вывести необходимые сведения, например — с помощью sys.exc_info()
.
Существующие перехватчики, достойные внимания
Разработка собственного перехватчика исключений может оказаться небольшим интересным проектом учебной направленности. Но уже создано порядочное количество отличных перехватчиков. Поэтому, вместо того, чтобы изобретать велосипед, давайте лучше посмотрим на то, чем можно воспользоваться прямо сейчас.
Начну с моего любимого инструмента — с Rich
:
# https://rich.readthedocs.io/en/latest/traceback.html pip install rich python -m rich.traceback from rich.traceback import install install(show_locals=True) do_stuff() # Вызывает ValueErrorТрейсбек, который выводит Rich
Воспользоваться этим инструментом очень просто — всё сводится к установке соответствующей библиотеки, к её импорту в проект и к вызову функции install
, которая подключает перехватчик исключений. Если вам интересно просто посмотреть на то, что выводит Rich
, не занимаясь при этом написанием Python-кода, можете прибегнуть к команде python -m rich.traceback
.
Ещё один популярный инструмент такого рода — это библиотека better_exceptions
. Она тоже очень приятно оформляет выводимые данные, но, в отличие от Rich
, для её настройки нужно приложить немного больше усилий:
# https://github.com/Qix-/better-exceptions pip install better_exceptions export BETTER_EXCEPTIONS=1 import better_exceptions better_exceptions.MAX_LENGTH = None Проверьте, установлена ли переменная TERM в значение xterm, если это не так - настройте следующую переменную, Смотрите это сообщение о проблеме: https://github.com/Qix-/better-exceptions/issues/8 better_exceptions.SUPPORTS_COLOR = True better_exceptions.hook() do_stuff() # Вызывает ValueError
Помимо установки библиотеки better-exceptions
с помощью pip
, нам, чтобы её включить, нужно ещё установить переменную окружения BETTER_EXCEPTIONS=1
. После этого библиотеку надо настроить с помощью вышеприведённого Python-кода. Самое важное в нём — это вызов функции hook
, которая устанавливает перехватчик исключений. Кроме того, в нём мы устанавливаем SUPPORTS_COLOR
в значение True
. Необходимость выполнения этой настройки зависит от используемого терминала. В частности, она нужна в том случае, если в TERM
записано значение, отличающееся от xterm
.
Следующим номером нашей программы будет библиотека pretty_errors
. Из тех инструментов, о которых я рассказываю, этот, определённо, отличается самой простой настройкой. Для того чтобы им воспользоваться, его достаточно импортировать в проект:
# https://github.com/onelivesleft/PrettyErrors/ pip install pretty_errors import pretty_errors если вас устраивают стандартные настройки - можно обойтись без configure pretty_errors.configure( filename_display = pretty_errors. FILENAME_EXTENDED, line_number_first = True, display_link = True, line_color = pretty_errors.RED + '> ' + pretty_errors.default_config.line_color, code_color = ' ' + pretty_errors.default_config.line_color, truncate_code = True, display_locals = True ) do_stuff()
В предыдущем фрагменте кода, помимо обязательной конструкции import
, показаны настройки библиотеки, без которых можно обойтись. Это — лишь малая часть тех настроек, которые поддерживает библиотека. Полный список конфигурационных опций pretty_errors
можно найти здесь.
Наша следующая библиотека выводит трейсбеки в таком стиле, который окажется знакомым любому, кто пользуется Jupyter Notebook. Речь идёт об IPython-модуле ultratb
. Он позволяет выводить сообщения об ошибках и трейсбеки, которые хорошо выглядят и легко читаются:
# https://ipython.readthedocs.io/en/stable/api/generated/IPython. core.ultratb.html pip install ipython import IPython.core.ultratb Ещё - ColorTB, FormattedTB, ListTB, SyntaxTB sys.excepthook = IPython.core.ultratb.VerboseTB(color_scheme='Linux') # Другие цветовые схемы: NoColor, LightBG, Neutral do_stuff()Трейсбек, который выводит ultratb
И вот — ещё одна библиотека, stackprinter
, последняя в моём списке, но далеко не последняя по своим возможностям. Она выдаёт чёткие сведения о проблемах, содержащие всю необходимую отладочную информацию. Для того чтобы ей воспользоваться — достаточно установить перехватчик исключений:
# https://github.com/cknd/stackprinter pip install stackprinter import stackprinter stackprinter.set_excepthook(style='darkbg2') do_stuff()Трейсбек, который выводит stackprinter
Итоги
Из этого материала вы узнали о том, как создавать собственные перехватчики исключений. Но я, на самом деле, не порекомендовал бы этим заниматься. Реализация подобного перехватчика может оказаться интересной программистской задачкой, но целесообразность подобной разработки, вероятно, находится под вопросом. Лучше подобрать что-то из существующих библиотек, рассмотренных выше.
А вот что я бы точно порекомендовал — так это выбрать одну из этих библиотек и установить её во всех проектах, над которыми вы работаете. Сделать это стоит для совершенствования отладки кода и ради единообразия используемых инструментов. Чем интенсивнее вы используете один из вышеописанных перехватчиков исключений — тем больше вы привыкаете к выдаваемым им данным, и, как следствие, тем больше пользы можете из них извлечь.
Учитывая вышесказанное — советую вам подумать о том, чтобы убрать собственные перехватчики исключений из продакшн-сборок. Дело в том, что особенности оформления выходных данных могут скрыть от нас некоторые сведения об ошибках, которые, в определённых ситуациях, могут оказаться крайне важными. Скажем, в некоторых из вышеприведённых примеров отсутствуют пути к файлам. Это способствует улучшению читабельности вывода при локальной отладке, но может усложнить жизнь программисту при отладке кода, выполняющегося на удалённой системе.
О, а приходите к нам работать? 😏Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.
Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.
Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.
Присоединяйтесь к нашей команде.
Как научиться красиво рисовать
Время чтения: 2 минуты, 12 секунд
Эксклюзив Мысль
Конрад Хиллз
33 16
Умение рисовать даже на среднем уровне полезно каждому. Со временем рисование может превратиться в серьезное увлечение, не требующее больших затрат, но способное доставлять невероятное удовольствие в том случае, когда рисующий достигает определенных успехов.
Не обязательно прибегать к услугам художественных школ или частных преподавателей. Достаточно лишь сильного желания, терпения и регулярных самостоятельных занятий.
Эскиз
На начальном этапе можно выбрать какой-нибудь простой предмет в пределах досягаемости, например, любимого кота, ведь рисовать с натуры гораздо проще, чем по памяти. Карандаш и лист бумаги — это все, что вам нужно на данном этапе. Начинать рисовать следует с контуров, обводя эти контуры короткими штрихами, стараясь соблюдать пропорции. Эскиз – основа будущего рисунка. Старайтесь делать очень короткие штрихи, тогда контур будет точным.
Детали
Затем начните рисовать детали. Вы должны отметить ключевые элементы, такие как глаза, нос, цветные пятна на теле кошки и относительно них прорисовать второстепенные детали.
Штрихи
Нанесение теней придаст рисунку естественный объем. Это более сложная техника, она требует острого карандаша, чтобы заштриховать участки, не освещенные солнцем на реальном объекте. Стоит попробовать пользоваться шкалой штриховки, начинать штриховку с края листа, меняя ее направление и нажим карандаша, добиваясь плавных переходов от более светлых оттенков к более темным.
Упражнения
Не лишним будет обучение изображению геометрических фигур – плоских, а затем объемных, а также сочетаний фигур и линий. Такие упражнения тренируют чувство перспективы и в дальнейшем позволяют рисовать воображаемые объекты. Важно больше экспериментировать, играть с формами. Попробуйте собрать из геометрических блоков предметы из реальной жизни, например, кошачий хвост в виде кругов и овалов различного диаметра. Попробуйте представить один и тот же объект с разных ракурсов.
Совершенство
С помощью ластика удалите с картинки все лишнее, проанализируйте, что получилось и что нужно улучшить. Не зацикливайтесь на одном и том же неудачном образе, лучше через какое-то время вернуться к нему и попробовать еще раз.
Полезно будет изучить литературу по рисованию, по разным стилям и школам. Для большей реалистичности в рисовании можно ознакомиться с готовыми изображениями в книгах по анатомии, попробовать повторить рисунки мышц и скелета.
Самое главное — больше практики. Без него просто невозможно чему-либо научиться, даже при наличии врожденных способностей.
Счастливый
7 44 %
Грустный
4 25 %
Возбужденный
3 19 %
Сонный
0 0 %
Злой
0 0 %
Сюрприз
2 13 %
Книгакрасивых лиц | Рисовать и раскрашивать причудливо стилизованные портреты
19,67 евро
В наличии
Книга красивых лиц | Количество Рисовать и раскрашивать причудливо стилизованные портреты
Самая продаваемая книга!
Отличная, понятная инструкция
Секретов Art Supply множество!
красиво оформлен и представлен
Подписанные копии!
КНИГА!
«Рисование и раскрашивание красивых лиц» — это вдохновляющая рабочая тетрадь в смешанной технике о том, как создавать очаровательные портреты в стиле фэшн-иллюстрации. Автор Джейн Дэвенпорт — любимый художник и инструктор мастер-классов, известная во всем мире своим искрометным, восторженным, счастливым и вдохновляющим стилем. В этой книге она шаг за шагом проведет вас через основы рисования лица, разработки гармоничных черт, создания ровных оттенков кожи, игры с яркими цветами, затенения, выделения и многого другого. Эта книга полна новых техник, чтобы задействовать и вдохновить ваше воображение».
Он наполнен техниками иллюстрации различных причудливых женских лиц.
Уроки проведут вас шаг за шагом с подробными объяснениями и информацией.
Международный бестселлер!
Вы можете получить подписанную копию «Рисуем и раскрашиваем красивые лица» прямо здесь!
Красивые лица — это вдохновляющая рабочая тетрадь в смешанной технике о том, как создавать очаровательные портреты.
Смотрите видео!
Что говорит Джейн
Я обожаю рисовать лица и играть с цветом! Это помогает мне чувствовать себя вдохновленным и счастливым. Причина, по которой я учу, заключается в том, что я хочу этого для всех. Хотите ли вы заниматься искусством как времяпрепровождением или как своей профессией, не имеет значения. Пока вы наслаждаетесь процессом, а не зацикливаетесь на конечном результате, вы будете продолжать его. Растет и светится! Я хотел бы помочь вам создать искусные лица вашей мечты.
Красивые лица были напечатаны на нескольких языках:
Эти рейтинги немного меняются каждый день,
и, конечно, не будут длиться вечно,
поэтому я показываю их здесь, потому что это все еще кажется не совсем реальным!
Получите мою книгу или оставьте отзыв на Amazon.
136 страниц
Присоединяйтесь к онлайн-семинару!
Онлайн-семинар оживит книгу! Когда я создавал «Рисование и раскрашивание красивых лиц», я снимал весь процесс на видео. Я буду углубляться в свои методы Face Math (TM) и далее объяснять концепции из книги.