Перейти к содержимому


Фотография

OCPaint - графический редактор для изображений OC

ocpaint paint draw

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 34

#1 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 09 Ноябрь 2016 - 19:26

Здравствуйте уважаемые жильцы форума и не только! :D 

Буду краток, не так давно пришла идея создания графического редактора для работы с изображениями под ОС, уже есть наработки, https://github.com/Avaja/OCPaint, как всегда хочу подключить луа для удобного написания форматера, тобишь, в скрипт передаются данные изображения, а уже в скрипте они преобразуются в поток байт сохраняемый в файл, таким образом можно будет писать пользовательские скрипты.

 

http://i.imgur.com/c5KtqqU.png

Пока всё выглядит бедненько, но постараюсь наполнить функционалом. :smile9:

 

Уже есть такие фичи.

 - Рисование пикселей.

 - Рисование символов.

 - Смена цвета.

 - Смена инструментов.

 - Ластик.

 - Файл конфигурации.

 - Автоматическое обновление скриптов с гитхаба.

 

Можно скачать!

https://github.com/A...s/tag/0.1-alpha

 

LuaApi!

http://pastebin.com/RrzgJNrq

Пиксели лежат строками не столбцами.

 

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

https://www.dropbox....iBbEXFtpKa?dl=0

 

Все баги и фичи слать сюда -> https://github.com/A.../OCPaint/issues


Сообщение отредактировал NEO: 15 Ноябрь 2016 - 23:20

  • Fingercomp и Kartze это нравится

#2 Оффлайн   astral17

astral17
  • Пользователи
  • Сообщений: 56
  • Уровень сигнала: 8,92%
  • В игре: 66 час. 37 мин.

Награды

              

Отправлено 09 Ноябрь 2016 - 21:26

Ты напишешь собственную библиотеку для работы с изображениями(в ОС), или они будут использовать формат изображений ecs???



#3 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 09 Ноябрь 2016 - 21:54

Ты напишешь собственную библиотеку для работы с изображениями(в ОС), или они будут использовать формат изображений ecs???

Можно будет писать скрипты для разных форматов, ну и вообще планирую добавлять по умолчанию набор скриптов.


Сообщение отредактировал NEO: 09 Ноябрь 2016 - 21:54


#4 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 09 Ноябрь 2016 - 21:55

Надо развернуть палитру, чтобы цветовое колесо было всегда видно, а внизу запоминались использованные цвета.

А таблицу символов засунуть в основное окно.

 

Потому что свернутая палитра, и отдельная таблица - это способы экономии места.

А у тебя места полно, и это только создаёт лишние  неудобства.



#5 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 11 Ноябрь 2016 - 22:07

Надо развернуть палитру, чтобы цветовое колесо было всегда видно, а внизу запоминались использованные цвета.

А таблицу символов засунуть в основное окно.

 

Потому что свернутая палитра, и отдельная таблица - это способы экономии места.

А у тебя места полно, и это только создаёт лишние  неудобства.

xAtxkvJ.png


Сообщение отредактировал NEO: 14 Ноябрь 2016 - 16:13

  • Totoro это нравится

#6 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 11 Ноябрь 2016 - 22:29

Можно скачать!

https://github.com/A...s/tag/0.1-alpha



#7 Оффлайн   ALeXeR

ALeXeR
  • Пользователи
  • Сообщений: 204
  • Уровень сигнала: 34,28%
  • В игре: 255 час. 59 мин.
  • ГородОдесса

Отправлено 11 Ноябрь 2016 - 22:38

Exception in Application start method
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NumberFormatException: null
    at java.lang.Integer.parseInt(Integer.java:542)
    at java.lang.Integer.parseInt(Integer.java:615)
    at common.Config.load(Config.java:28)
    at common.Config.<init>(Config.java:23)
    at common.OCPaint.start(OCPaint.java:38)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139)
    ... 1 more


Сообщение отредактировал ALeXeR: 11 Ноябрь 2016 - 22:48


#8 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 11 Ноябрь 2016 - 22:53

Сразу два скролла в таблице символов - неудобно.

Оставь только по вертикали, или только по горизонтали.

 

Ну и вообще, мне кажется, можно кнопки поуменьшить. Потому что места много занимают зря. Идеально - это просто таблица символов, с расстоянием между соседними в пару-тройку пикселей.

 

Панелька с последними использовавшимися символами будет тоже кстати.



#9 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 11 Ноябрь 2016 - 23:04

...

Еще раз запусти =). Там пока с конфигурациями бяка.



#10 Оффлайн   ALeXeR

ALeXeR
  • Пользователи
  • Сообщений: 204
  • Уровень сигнала: 34,28%
  • В игре: 255 час. 59 мин.
  • ГородОдесса

Отправлено 11 Ноябрь 2016 - 23:08

да, кнопочки можно поуменьшить, и скрол в таблице 1 желательно) но вот что было бы воще сок - это чтоб можно было включать сетку)



#11 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 12 Ноябрь 2016 - 18:29

да, кнопочки можно поуменьшить, и скрол в таблице 1 желательно) но вот что было бы воще сок - это чтоб можно было включать сетку)

+



#12 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2016 - 00:25

Уху! Новые обновления!

https://github.com/A...tag/0.0.2-alpha

P.S

Кто может написать скрипт для конвертации в pic от ECS?


Сообщение отредактировал NEO: 14 Ноябрь 2016 - 00:26


#13 Оффлайн   ALeXeR

ALeXeR
  • Пользователи
  • Сообщений: 204
  • Уровень сигнала: 34,28%
  • В игре: 255 час. 59 мин.
  • ГородОдесса

Отправлено 14 Ноябрь 2016 - 01:24

оо) гараздо лучше) там правде где сетка включается немного багует, туда можно флажек поставить) а так гуд) ну и попрежниму не с первого раза включается (возможно из-за старой кофигурации)


Сообщение отредактировал ALeXeR: 14 Ноябрь 2016 - 01:25


#14 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2016 - 02:05

оо) гараздо лучше) там правде где сетка включается немного багует, туда можно флажек поставить) а так гуд) ну и попрежниму не с первого раза включается (возможно из-за старой кофигурации)

Стэктрейс тот же?



#15 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 14 Ноябрь 2016 - 11:25

Кто может написать скрипт для конвертации в pic от ECS?

Может быть... ECS?



#16 Оффлайн   astral17

astral17
  • Пользователи
  • Сообщений: 56
  • Уровень сигнала: 8,92%
  • В игре: 66 час. 37 мин.

Награды

              

Отправлено 14 Ноябрь 2016 - 15:41

Кто может написать скрипт для конвертации в pic от ECS?

Можешь скинуть небольшую API к скриптам, (хотя бы как называется массив и примерно как в нем хранится)



#17 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2016 - 16:11

LuaApi!

http://pastebin.com/RrzgJNrq

Пиксели лежат строками не столбцами.


Сообщение отредактировал NEO: 14 Ноябрь 2016 - 16:14


#18 Оффлайн   astral17

astral17
  • Пользователи
  • Сообщений: 56
  • Уровень сигнала: 8,92%
  • В игре: 66 час. 37 мин.

Награды

              

Отправлено 14 Ноябрь 2016 - 16:34

LuaApi!

http://pastebin.com/RrzgJNrq

Пиксели лежат строками не столбцами.

Где хранится длина и ширина картинки?(Довольно важные параметры), и еще у меня не компилится исходник (Could not find or load main class org.gradle.wrapper.GradleWrapperMain), и еще лучше, чтобы скрипты можно было добавлять/изменять после этапа компиляции(Разделится на 2 типа впиленные и внешние)


Сообщение отредактировал astral17: 14 Ноябрь 2016 - 16:37


#19 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2016 - 17:21

Где хранится длина и ширина картинки?(Довольно важные параметры), и еще у меня не компилится исходник (Could not find or load main class org.gradle.wrapper.GradleWrapperMain), и еще лучше, чтобы скрипты можно было добавлять/изменять после этапа компиляции(Разделится на 2 типа впиленные и внешние)

Добавил wrapper, длина и ширина определяет в таблице ключами width и height



#20 Оффлайн   astral17

astral17
  • Пользователи
  • Сообщений: 56
  • Уровень сигнала: 8,92%
  • В игре: 66 час. 37 мин.

Награды

              

Отправлено 14 Ноябрь 2016 - 20:44

Короче сохранение я вроде сделал, но проверить работоспособность не могу т.к. не могу разобраться как компилить

Прикрепленный файл  Безымянный.png   44,18К   41 Количество загрузок:

Загрузку я еще не начинал делать, вот код zzyJX5Xb



#21 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 204
  • Уровень сигнала: 15,61%
  • В игре: 116 час. 32 мин.
  • ГородЛуна

Награды

                       

Отправлено 14 Ноябрь 2016 - 20:57

Короче сохранение я вроде сделал, но проверить работоспособность не могу т.к. не могу разобраться как компилить

attachicon.gifБезымянный.png

Загрузку я еще не начинал делать, вот код zzyJX5Xb

 

не будет работать, библиотек component, unicode, colorlib, filesystem нету



#22 Оффлайн   astral17

astral17
  • Пользователи
  • Сообщений: 56
  • Уровень сигнала: 8,92%
  • В игре: 66 час. 37 мин.

Награды

              

Отправлено 14 Ноябрь 2016 - 21:19

не будет работать, библиотек component, unicode, colorlib, filesystem нету

Точно, нужно будет выпилить require и впилить colorlib в код, совсем забыл про них, но что делать с unicode???



#23 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2016 - 23:53

Точно, нужно будет выпилить require и впилить colorlib в код, совсем забыл про них, но что делать с unicode???

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

https://www.dropbox....iBbEXFtpKa?dl=0



#24 Оффлайн   Seryoga

Seryoga
  • Пользователи
  • Сообщений: 108
  • Уровень сигнала: 0,34%
  • В игре: 2 час. 33 мин.
  • ГородSaint-Petersburg

Награды

        

Отправлено 15 Ноябрь 2016 - 00:06

Короче сохранение я вроде сделал, но проверить работоспособность не могу т.к. не могу разобраться как компилить

attachicon.gifБезымянный.png

Загрузку я еще не начинал делать, вот код zzyJX5Xb

Неправильный подход к помощи в разработке.
Этот проект находится на github. Вы вполне можете сделать fork репозитория. Добавить какие-либо фичи и баги, оттестировать их.
Далее можно отправить pull request, а автор решит принять или отменить ваши изменения.

ps. Сугубо моё мнение, но всё же. Ваше предложение выглядит так: "Ну вот я тебе запилил какую-то хрень, я не знаю работает она или нет. Причём ты виноват в том, что я не смог протестировать и отладить этот кусок кода. Но ты радуйся."
Надо относиться с уважением друг к другу.


Сообщение отредактировал Seryoga: 15 Ноябрь 2016 - 00:15

  • NEO это нравится

#25 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 15 Ноябрь 2016 - 00:49

Короче сохранение я вроде сделал, но проверить работоспособность не могу т.к. не могу разобраться как компилить

attachicon.gifБезымянный.png

Загрузку я еще не начинал делать, вот код zzyJX5Xb

У тебя jdk не установлен.



#26 Оффлайн   Seryoga

Seryoga
  • Пользователи
  • Сообщений: 108
  • Уровень сигнала: 0,34%
  • В игре: 2 час. 33 мин.
  • ГородSaint-Petersburg

Награды

        

Отправлено 15 Ноябрь 2016 - 01:34

BugReport

  1. Пропуск пикселей
    Если выбрать цвет, зажать клавишу и начать быстро водить мышкой по экрану, то кисть будет рисовать прерывистую линию.
    Спойлер
    Также если начать рисовать вне холста, то когда мышь дойдёт до листа она не будет рисовать. Это иногда мешает проводить линии.
  2. Пропадание кнопки с текстом 'custom colors'
    После создания нового цвета, пропадает кнопка для создания ещё одного цвета. Для того чтобы использовать её снова приходится делать довольно-таки хитрое действие.
    Спойлер
  3. Не правильное отображение закрашенных квадратов и символов на них
    Если начать рисовать разноцветные символы поверх пиксельной картинки представленной на изображениях выше, то получится вот такая хурма:
    Спойлер
  4. Не правльное отображение новых цветов
    Во-первых в палитре цвета с альфаканалом следует отображать на фоне 'шахматной клетки'
    Во-вторых при создании большого количества цветов новые цвета начинают залезать под таблицу с символами.
    Спойлер
  5. Расположение холста
    Намного удобнее будет если холст можно будет размещать в любом месте рабочего поля, и если будет добавлена функция изменения масштаба изображения.
  6. Работа с файлами
    Приложение при сохранении изображения создаёт 'битые' файлы. То есть я могу создать файл без расширения или с расширением .jpeg, хотя приложение не умеет работать с файлами такого типа. И эти фалы невозоможно открыть и с помощью стандарных средств по работе с изображениями
    Спойлер

  • Totoro и qwertyMAN это нравится

#27 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 15 Ноябрь 2016 - 12:14

А ещё реквестирую фичу, чтобы программа показывала название текущего файла в заголовке, и отмечала звёздочкой, если есть несохранённые изменения.  :)



#28 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 15 Ноябрь 2016 - 20:36

...

У тебя не последний релиз.

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

Ответ: Не надо быстро водить мышку, тем более кисть не рисует линию, а заполняет пиксель, тобишь пропуск пикселей не баг, а просто медленный опрос мышь на её местоположение.

 

Пропадание кнопки с текстом 'custom colors'
После создания нового цвета, пропадает кнопка для создания ещё одного цвета. Для того чтобы использовать её снова приходится делать довольно-таки хитрое действие.

Ответ: В той версии такое было, но между ней и текущей я перерабатывал логику ресайза элементов и сейчас не замечаю такого.

 

Не правильное отображение закрашенных квадратов и символов на них
Если начать рисовать разноцветные символы поверх пиксельной картинки представленной на изображениях выше, то получится вот такая хурма:

Ответ: Есть такое, уже исправляется.

 

Не правльное отображение новых цветов
Во-первых в палитре цвета с альфаканалом следует отображать на фоне 'шахматной клетки'
Во-вторых при создании большого количества цветов новые цвета начинают залезать под таблицу с символами.

Ответ: Я использую палитру по умолчанию, она сама отображает как ей задано.

 

Расположение холста

Намного удобнее будет если холст можно будет размещать в любом месте рабочего поля, и если будет добавлена функция изменения масштаба изображения.

Ответ: Отдельное окно что - ли? Тоторо меня убеждал что изменения масштаба не требуется, а теперь лайкает, определитесь уже. Я с ним советовался перед написанием, таким образом в архитектуру не было заложено такой фичи, но я посмотрю что можно сделать.

 

Работа с файлами
Приложение при сохранении изображения создаёт 'битые' файлы. То есть я могу создать файл без расширения или с расширением .jpeg, хотя приложение не умеет работать с файлами такого типа. И эти фалы невозоможно открыть и с помощью стандарных средств по работе с изображениями.

Ответ: Понятно что битые, скриптов нету, а что другие программы запрещают сохранять в других формата?



#29 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 16 Ноябрь 2016 - 18:38

Добавил фичу в виде не прерывной линии при рисовании кистью.


  • Totoro это нравится

#30 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 03 Февраль 2017 - 00:33

Решил начать заново. :D

Кому интересно, ждите, скоро будет первый билд.


  • Doob это нравится





Темы с аналогичным тегами ocpaint, paint, draw

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных