Найти - Пользователи
Полная версия: Библиотека для создания растрового графического редактора.
Начало » Python для новичков » Библиотека для создания растрового графического редактора.
1 2
philimonix
JOHN_16
если вы такой новичок может для того что бы мотивацию не растерять с чего то попроще начать?
Возможно, так и надо было сделать Но пора завязывать с поиском лёгких путей)) В любом случае, процесс работы над чем-то сложным (пусть даже и не выполнимым для меня на данном этапе развития) принесёт мне больше навыков, опыта и знаний, чем все эти книги. Надо же когда-то уже с чего-то начинать )
PEHDOM
philimonix
Думаю, раз это пиксельный редактор, то концептуальненько было бы иметь класс Pixel
Имхо для каждого пикселя отдельный инстанс класса это перебор. Что вы там такого хотите хранить? три int c RGB + возможно int c альфа каналом? Какие действия собираетесь с ними делать? Если у вас будет полотно 256х256 то это 65К пикселов. 65К инстансов класса писел… При такой реализации один слой у вас будет занимать порядка 16Мб памяти в то время как bmp файл такого же размера занимает аж 192Кб. Стоит подумать о оптимизации. Или брать в качестве основы для слоя уже готовые решения для храния графической информации, или пилить свой велосипед. Даже если вместо класса вы будете использовать спписок байт длинной в 32 бита, где под каждый из 4-х каналов(rgb+alfa) будет выделяться 8 бит то уже ваш слой будет занимать порядка 2Мб вместо 16 -ти .
philimonix
PEHDOM
Имхо для каждого пикселя отдельный инстанс класса это перебор.
Согласен, перегнул чутка ) Вообще, наверное, такие вещи надо писать на Си. Но мне просто не хочется заниматься байтокопательством.
Ладно, пока что передо мной задача оптимизации не стоит. Надо для начала с базовыми вещами разобраться. Пока что просто вожусь с созданием кнопочек, функций для смены цветов, размера карандаша, самим процессом рисования пикселей, зумом, примитивами.. Работы ещё много. Преждевременной оптимизацией пока заниматься не буду ))
За замечания большое спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB