Translations of this page:

GOGL - растровый редактор

Скриншот программы

GOGL - пример простого растрового редактора для Pixi
На создание этого примера меня натолкнули различные дискуссии на форуме пиксиланга.
Название GOGL происходит от ника одного из создателей пиксиланга - goglus, а также созвучно с GEGL, новым графическим движком The Gimp. Однако, это всего лишь шутка и не стоит воспринимать ее слишком серьезно :)

Посвящаяется всем начинающим изучать программированиие (и в особенности язык Pixilang).

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

Ключевые особенности:

  • используются три вида инструментов
    1. точки (пиксели)
    2. прямые линии
    3. кисти (можно загружать внешние gif'ы)
  • Поддержка функции отмены последнего действия
  • Простой инструмен выбора текущего цвета

GOGL прежде всего призван показать каким образом можно сделать простой растровый редактор на пикси.

Что еще не сделано, но хотелось бы:

  1. До конца реализовать не доделанные функции (выбор кистей, параметры инструментов…)
  2. Доделать и оптимизировать функционал undo/redo
  3. Причесать, подчистить и структурировать код
  4. Написать подробные комментарии к коду
  5. Не работает инструмент «пипетка»
  6. Написать статью/урок по «теории простых растровых редакторов» (ну это планы наполеоновские)

Примечание:
Программа уже сейчас поддерживает разные кисти.
Однако интерфейс выбора еще не реализован.
Если интересно - можно попробовать поменять в файле instruments.txt:

    current_brush = load_pixi("brushes/test01.gif")
    current_brush_mask = load_pixi("brushes/test01_mask.gif")
 
    // Можно сменить на
    current_brush = load_pixi("brushes/default.gif")
    current_brush_mask = load_pixi("brushes/default_mask.gif")
 
    // или на это и посмотреть что получится
    current_brush = load_pixi("brushes/calygraph01.gif")
    current_brush_mask = load_pixi("brushes/calygraph01_mask.gif")

Все кисти нагло стырены из гимпа :)

Чтобы выйти из инструмента выбора цвета нужно кликнуть по кнопке с цветом в меню. Пока фоновый цвет используется только для очистки экрана.

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

Еще отмечу, что в процессе создания редактора я ощущал острую нехватку структур и функций в языке. И если без структур еще можно обойтись, то без функций очень тяжело. Приходится передавать параметры через глобальные переменные. Это навевает воспоминания о доисторических временах ;) Я помню, NightRadio уже поднимал этот вопрос… Можно это еще раз обсудить ;)

Собственно скачать пример можно тут: http://zufs.net/upload/pixi/gogl-2008-10-21_01-00.zip

pixi-projects/gogl.txt · Последние изменения: 2008/12/22 12:28 — zuf
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki