Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2017 04:21:40

philimonix
Зарегистрирован: 2017-07-11
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

Привет, народ!
Вопрос такой. Я в программировании пока совсем ещё новичок. Хотя прочитал несколько книг по разным языкам (Haskell, Common Lisp, Perl, C, Python). Но ничего серьёзней задачек из этих книг я почти никогда не писал. И вот подумал, что читать книжки, конечно, можно и дальше, но толку от них не будет, пока я не возьмусь за какой-то проект. Не долго думая, решил совместить два увлечения - программирование и пиксель арт - и начать писать графический редактор на Python3.
Планы у меня в этом направлении наполеоновские. В конечном итоге хотелось бы создать полноценную среду для создания пиксельной анимации.
Для начала было бы неплохо ограничиться такими задачами как редактирование спрайтов и создание тайлсетов для 2D-игр. А потом уже потихоньку добавлять возможности анимации и всякое прочее.

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

P.S: Начать, конечно, нужно с чего-то простенького и не богатого на разнообразные фишки. Что-то вроде такого редактора как Piskelapp. Есть онлайн версия, работает прямо в браузере. Там просто возможность рисования карандашом в один пиксель, зеркальное отображение, слои, простая анимация по кадрам, примитивы, ластик.. ну и всё такое.

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

P.P.P.S: Буду рад любым советам

Отредактировано philimonix (Июль 12, 2017 04:26:23)

Офлайн

#2 Июль 12, 2017 05:35:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

Вам наверняка понадобится это



Офлайн

#3 Июль 12, 2017 07:23:41

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

PyQt* покроет любые фантазии. Там есть QImage.

Офлайн

#4 Июль 12, 2017 09:49:58

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

Shaman
PyQt* покроет любые фантазии. Там есть QImage.
Там есть еще Qt Graphics Framework
http://doc.qt.io/qt-4.8/graphicsview.html
http://doc.crossplatform.ru/qt/4.6.x/graphicsview.html
Graphics View Framework это не только система вывода графики с широкими возможностями, но и готовая реализация парадигмы модель-контроллер-вид для программ, работающих с двухмерной графикой.
Графическое представление обеспечивает поверхность для управления и взаимодействия с большим количеством созданных пользователем двумерных графических элементов, а также виджет для их визуализации с поддержкой масштабирования и вращения.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 12, 2017 09:54:09)

Офлайн

#5 Июль 12, 2017 10:22:25

philimonix
Зарегистрирован: 2017-07-11
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.


Shaman
PyQt* покроет любые фантазии. Там есть QImage.
PEHDOM
Там есть еще Qt Graphics Framework
Что-то Qt показалась мне как-то переусложнённой штуковиной для новичка. Там уж очень много всего. Но штука интересная, по всей видимости для конкретно крупных приложений, работающих со сложной графикой, это будет самое оно. Спасибо за наводку. Возможно, в будущем, если мой энтузиазм не закончится на первых трудностях, я займусь изучением этой штуки. А пока что это будет стрельба из пушки по воробьям, ибо пиксель арт вряд ли потребует чего-то грандиозно сложного и жрущего ресурсы аки 3D Max.

FishHook
Вам наверняка понадобится это
Pilliow выглядит интересно и попроще чем Qt. Наверное, всякие там преобразования форматов файлов, алгоритмы изменения размеров изображения и всякие разные вещи очень даже пригодятся.

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

Всем большое спасибо!

Офлайн

#6 Июль 12, 2017 11:17:53

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

С растровыми редакторами вопрос “как хранить растр” является не менее важным чем “как построить IU”.

Офлайн

#7 Июль 12, 2017 11:37:43

philimonix
Зарегистрирован: 2017-07-11
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

Shaman
С растровыми редакторами вопрос “как хранить растр” является не менее важным чем “как построить IU”.
Ну так пиксель арт же. Тут PNG надо. Или имеется в виду хранение всего этого дела в памяти во время самого процесса редактирования?

Офлайн

#8 Июль 12, 2017 13:33:03

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

philimonix
Или имеется в виду хранение всего этого дела в памяти во время самого процесса редактирования
Да. Именно это подразумевалось. Главное - начать, а там правильные вопросы сами появятся.

Офлайн

#9 Июль 12, 2017 13:49:52

philimonix
Зарегистрирован: 2017-07-11
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

Shaman
Главное - начать, а там правильные вопросы сами появятся.
Это да. Пока не начнёшь, даже и не подозреваешь о вопросах, которые поджидают. А уж у меня этих вопросов будет валом, ибо я сразу с места в карьер, ничего не умея и почти ничего не зная, взялся за такой проект.
Ну, как хранить всё это дело в памяти, я пока не знаю. Думаю, раз это пиксельный редактор, то концептуальненько было бы иметь класс Pixel, который описывал бы минимальный строительный блок графики. Класс Layer мог бы иметь в себе список объектов Pixel, а класс Tile содержал бы в себе список слоёв (Layer). Тогда TileSet был бы списком тайлов. Ну там ещё кадры, анимации и всякое прочее. Это пока то, что в голову пришло. На данном этапе пока такой вопрос передо мной не стоит.

Офлайн

#10 Июль 12, 2017 14:24:48

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Библиотека для создания растрового графического редактора.

philimonix
если вы такой новичок может для того что бы мотивацию не растерять с чего то попроще начать? А то уж больно как то высокая планка - слишком часто такие вещи начинаются и не дойдя до половины бросаются (половина - это я еще оптимистично)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version