Pull to refresh

MS Paint — я вас, таки, переживу

IT systems testing *System administration *Development for Windows *

Невероятные новости от Майкрософта! После того, как в Windows 10 сотрудники MS сказали, что всеми нами любимому pbrush (a.k.a. mspaint) придётся идти на свалку, народ бушевал. Но, представляю вашему вниманию новый пресс-релиз от Майкрософт. Присмотритесь внимательно, что вы видите, помимо хипстеровской бутылочки для воды?

Правильно - paint is back!
Total votes 26: ↑24 and ↓2 +22
Views 15K
Comments 67

Умелец воссоздал MS Paint на ESP32 с 1,3-дюймовым дисплеем

Programming microcontrollers *DIY

Энтузиаст воссоздал классический Microsoft Paint с несколько упрощенным функционалом на ESP 32 с крошечным 1,3-дюймовым дисплеем. Система позволяет выбирать различные цвета и рисовать геометрические фигуры с помощью пары потенциометров.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 6.6K
Comments 6

PicPick — простой редактор картинок и скриншотов

Lumber room
Отличная небольшая программка для создания скриншотов и редактирования картинок. Программа ранее уже обсуждалась. Но прошел год и довольно сильно изменилась.

О программе


Автор кореец Daewoong Moon (Wiziple)
Лицензия freeware
Платформа Win
Язык Multilanguage
Скачать
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 280
Comments 8

Мои экзерсисы. PaintUp — раскраска разноцветных эскизов

Development for Android *

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

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

В посленовогодние выходные появилось немного свободного времени для экзерсисов и я решил попробовать пописАть под Андроид. В качестве прикладной задачи решил сделать какую-то рисовалку. Вот тут мне и пригодился опыт работы с рельефом – пришла идея сделать рисовалку-раскраску. Чтобы можно было на холсте нарисовать множество разноцветных линий, а затем приложение само раскрасило бы этот эскиз в цветовой градиент от этих цветовых источников. По сути построение градиента сводилось к моделированию сеточной функции 2-х переменных: сетка – это пиксели растра, изолинии – это линии эскиза, высота изолинии – это 3-х мерный вектор RGB-цвета.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 1.4K
Comments 11

VoytPaint — еще одна рисовалка для Android

Development for Android *
В один прекрасный день мне понадобилось приложение на Андроид, в котором можно что-нибудь нарисовать, после долгих поисков на маркете нашел ScetchBook, и все… все остальное, что выходило в поисковой выдаче было ужасно: страшный интерфейс, тормоза (кстати к скетчбуку это тоже относится), глюки, рисование только кистью и тд. Так как уже тогда изучал программирование под Андроид решил продумать все что мне нужно и оформить это в виде приложения.

И вот что получилось:

Voytpaint — приложение в котором можно рисовать!!!
(все остальные названия со словом paint и draw уже заняты, поэтому пришлось приделать к нему еще и часть фамилии)
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 6.8K
Comments 16

Приложение для рисования под Андроид

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

Прошу под кат...
Total votes 9: ↑7 and ↓2 +5
Views 863
Comments 9

Рисуем карту изображения мышкой

JavaScript *HTML *Canvas *
Sandbox
Привет. Давеча мне довелось иметь дело с такой специфической фичей html как карта изображения. Скажу честно, что мне не часто доводилось использовать её, и то, обычно, всё обходилось зонами в форме прямоугольника. Но это был не тот самый случай. Задачей было повесить ссылки на отдельные регионы изображения, которым выступала карта страны, и, к сожалению, ни о каких канвасах или svg не могло быть и речи. Только html только хардкор! Итак, задача поставлена, гугл активизирован, можно и начинать.
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Views 39K
Comments 29

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

Game development *Algorithms *
Sandbox
Всю сознательную программистскую деятельность я увлекался созданием игр и не любил делать редакторы и прочие утилиты. Главным моим редактором почти всегда был Paint. Но для игр, в которых уровень статичен и состоит из тайлов (Марио подобные и прочие танчики), это более-менее оправдано, т.к. одному пикселю из файла уровня, созданного в Paint, соответствует тайл в игре. А что если требуется создать игру, где нет тайлов, а игровая локация состоит из неровных скалистых пещер. Или игру, в которой много движущихся элементов (летающие платформы, лифты, циркулярные пилы, вращающиеся по окружности).

Создавать редактор для таких целей мне по-прежнему не хотелось. О том, как я это решил с помощью Paint опишу в этой статье.
Читать дальше →
Total votes 74: ↑68 and ↓6 +62
Views 23K
Comments 27

Выразительный JavaScript: Проект: программа Paint

JavaScript *Programming *

Содержание




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

Жоан Миро


Материал предыдущих глав даёт вам всё необходимое для создания простого веб-приложения. Именно этим мы и займёмся.

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


Простая программа рисования
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views 38K
Comments 3

Пишем аналог Paint на Objective-C

Productivity Inside corporate blog Development for iOS *Development of mobile applications *Objective C *
Tutorial
В этой статье мы хотели бы предложить вниманию читателей пошаговый алгоритм создания простого фоторедактора, который может оказаться полезными для приложений, предполагающих взаимодействие пользователя с изображениями. Он будет включать в себя самые базовые функции, давая возможность вносить небольшие корректировки: затереть определенную область (например, ник), выделить важный текст (телефон, адрес или просто цитату), обвести какую либо область на карте или «нарисовать слово». С технической точки зрения, тема довольно избитая, но мы нашли способ модифицировать процесс, сделав его быстрее и проще — возможно, кто-то возьмет на заметку.


Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 5K
Comments 1

Чего мне никогда не говорили о CSS

Web design *Website development *CSS *
Translation

Фото Джантин Дурнбос на Unsplash

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

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

Чтобы исправить это, я провела некоторые исследования и составила небольшой список понятий, которые считаю интересными и полезными для лучшего понимания и написания CSS.
Читать дальше →
Total votes 50: ↑43 and ↓7 +36
Views 40K
Comments 36

CSS Houdini: практическое руководство

Website development *CSS *JavaScript *Programming *HTML *
Translation
Доброго времени суток, друзья!

Что такое Houdini?


Houdini (Гудини) — коллекция API браузера, значительно улучшающих процесс веб разработки, включая разработку стандартов CSS. Разработчики смогут расширять CSS, используя JavaScript, влияя на рендеринг CSS и указывая браузеру, как следует применять стили. Это обеспечит значительное повышение производительности и стабильности, нежели использование полифилов.

Гудини состоит из двух групп API — высокоуровневые API и API низкого уровня.

API высокого уровня связаны с процессом рендеринга (стиль — макет — рисование — композиция). Эта группа включает:

  • Paint API — позволяет расширять CSS на шаге (имеется ввиду стадия рендеринга) отрисовки визуальных элементов (цвет, фон, границы и т.д.).
  • Layout API — позволяет расширять CSS на шаге определения размеров, позиции и выравнивания элементов.
  • Animation API — «точка расширения» на шаге отображения и анимирования элементов.

Низкоуровневые API являются основой для высокоуровневых и включают в себя:

  • API типизированной объектной модели (Typed Object Model)
  • API пользовательских свойств и значений (Custom Properties & Values)
  • API метрик шрифта (Font Metrics)
  • Ворклеты (Worklets)
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 15K
Comments 5

Хит-парад убогих уязвимостей Microsoft из прошлого

Маклауд corporate blog Information Security *

Уж кого нельзя обвинить в скупости на разного рода ошибки и уязвимости, так это корпорацию Microsoft. За примером далеко ходить не надо — достаточно посмотреть на Windows 10, просто утопающую в багах. Упрекать разработчиков не стоит: они «старательно» выпускают патчи, исправляющие ошибки. Но статистика — вещь непредвзятая. Согласно «ежегодному отчету об уязвимостях Microsoft« от компании BeyondTrust, за 2020 год было обнаружено 1268 уязвимостей, из которых критических — 132. В этой статье взглянем на самые странные и глупые уязвимости, которые были найдены в продуктах от Microsoft.

Microsoft Teams и .GIF файлы


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

Суть уязвимости в следующем: чтобы убедиться, что пользователь получает предназначенное для него изображение, в Microsoft Teams используются два токена для аутентификации: authtoken и skypetoken. Authtoken позволяет загружать изображения на доменах Teams и Skype, а затем генерирует skypetoken. Skypetoken используется для аутентификации на сервере, обрабатывающем действия клиента, например чтение и отправка сообщений.
Читать дальше →
Total votes 58: ↑40 and ↓18 +22
Views 12K
Comments 19