Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт июн 22, 2018 6:15 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 100 сообщений ]  На страницу Пред. 13 4 5 6 7
Автор Сообщение
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Чт мар 17, 2016 5:35 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Пн окт 19, 2009 10:58 am
Сообщения: 361
libimg exports img.formats_table:
Код:
align 4
img.formats_table:
  .bmp  dd LIBIMG_FORMAT_BMP,  img.is.bmp,  img.decode.bmp,     img.encode.bmp, 1 + (1 SHL Image.bpp24) + (1 SHL Image.bpp32)
  .ico  dd LIBIMG_FORMAT_ICO,  img.is.ico,  img.decode.ico_cur, img.encode.ico, 0
  .cur  dd LIBIMG_FORMAT_CUR,  img.is.cur,  img.decode.ico_cur, img.encode.cur, 0
  .gif  dd LIBIMG_FORMAT_GIF,  img.is.gif,  img.decode.gif,     img.encode.gif, 0
  .png  dd LIBIMG_FORMAT_PNG,  img.is.png,  img.decode.png,     img.encode.png, 0
  .jpg  dd LIBIMG_FORMAT_JPEG, img.is.jpg,  img.decode.jpg,     img.encode.jpg, 0
  .tga  dd LIBIMG_FORMAT_TGA,  img.is.tga,  img.decode.tga,     img.encode.tga, 0
  .pcx  dd LIBIMG_FORMAT_PCX,  img.is.pcx,  img.decode.pcx,     img.encode.pcx, 0
  .xcf  dd LIBIMG_FORMAT_XCF,  img.is.xcf,  img.decode.xcf,     img.encode.xcf, 0
  .tiff dd LIBIMG_FORMAT_TIFF, img.is.tiff, img.decode.tiff,    img.encode.tiff,0
  .pnm  dd LIBIMG_FORMAT_PNM,  img.is.pnm,  img.decode.pnm,     img.encode.pnm, 1 + (1 SHL Image.bpp1) + (1 SHL Image.bpp8g) + (1 SHL Image.bpp24)
  .wbmp dd LIBIMG_FORMAT_WBMP, img.is.wbmp, img.decode.wbmp,    img.encode.wbmp,0
  .xbm  dd LIBIMG_FORMAT_XBM,  img.is.xbm,  img.decode.xbm,     img.encode.xbm, 0
  .z80  dd LIBIMG_FORMAT_Z80,  img.is.z80,  img.decode.z80,     img.encode.z80, 0 ;this must be the last entry as there are no signatures in z80 screens at all
        dd 0


The last field is capabilities:
Код:
struct FormatsTableEntry
  Format_id     dd ?
  Is            dd ?
  Decode        dd ?
  Encode        dd ?
  Capabilities  dd ?
ends


LSb of capabilities means encoding is supported. Bit N set means that encoding supported for pixel format where Image.bpp* = N.

There is encoding example. I didn't check if it works now, it is 3 years old.


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Чт мар 17, 2016 10:17 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
рев. 6355
Изменил алгоритм работы с командой undo. Вместо копирования буферов по цепочке просто сдвигаю указатели. Так получается быстрее и кода меньше, потому что легче указатель поменять чем весь буфер с изображением перегонять.
Но перед рисованием всеравно буфер с изображением копируется, но так и было раньше.
dunkaist писал(а):
There is encoding example. I didn't check if it works now, it is 3 years old.

Это хорошо что есть пример, значит возможно в будущем будет сохранение в png.


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Чт мар 24, 2016 3:04 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4450
Updated Animage.
Code by IgorA.
GUI by me.


Вложения:
animage1.51.png
animage1.51.png [ 24.72 КБ | 1444 просмотра ]

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Чт мар 24, 2016 8:10 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
rev 6371
добавил в меню группу Filters с поворотами изображения,
также добавил выделение текущего масштаба для удобства пользования.

Думаю что теперь animage уже не будет кандидатом на удаление из образа :P


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Сб мар 26, 2016 10:25 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
rev 6379
Исправил рамку для выделения, которая перестала стираться после рев. 6355. Сделал новый алгоритм, который рисует рамку для выделения сразу в области экрана, а не в область изображения.
Но все еще нужно будет дорабатывать работу с командами Copy, Paste. Потому что они работают не так как нужно, а именно:
1) перемещение рамки для выделения считается как событие редактирования файла, что не хорошо.
2) копирование приводит к пропаданию рамки с экрана и для вставки изображения нужно рисовать рамку в нужном месте снова
3) может еще что-то есть точно не знаю


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Ср ноя 23, 2016 12:30 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
rev 6741
Сделано сохранение файлов в *.png . Можно также и в *.bmp сохранять, но по умолчанию поставлено *.png . Можно протестировать сохраняемые файлы в Windows, потому как я только внутри Колибри их пробовал открывать.


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Пн апр 23, 2018 9:15 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4450
1. Открываем файл из вложения в Animage
2. Увеличение х8
3. Цвет - Белый
4. Инструмент - Заливка
5. Нажимаем "залить" выше клюва http://prntscr.com/j94dxy

=> программа вылетает


Вложения:
48.png
48.png [ 2.98 КБ | 243 просмотра ]

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Вт апр 24, 2018 11:03 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
Запустил в отладчике:
Вложение:
animage_240418.png
animage_240418.png [ 16.26 КБ | 213 просмотров ]

Вроди нашел функцию где вылетает:
Код:
; function <<<<<<GetColorOfPixel>>>>>>
; IN
; eax - pointer to picture
; ebx - picture size x
; esi - x coordinat of pixel
; edi - y coordinat of pixel
; OUT
; eax - color of pixel in coordinats (x,y)
GetColorOfPixel:

  imul ebx,edi
  add ebx,esi
  lea ebx,[ebx+ebx*2]
  add eax,ebx
  mov ebx,[eax]
  and ebx,0xffffff
  mov eax,ebx
  ret

Судя по всему в esi приходит не корректная координата по оси x = -1. Из-за этого не правильно вычисляется адрес в регистре eax и происходит вылет. Можно в функцию GetColorOfPixel внести проверку координаты и сделать аварийный выход выход из нее, но тогда возможно что не корректная координата вылезет еще где-нибудь. Потому наверное правильно будет найти места где координата становится не правильной и править там.


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Ср апр 25, 2018 9:18 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
rev 7258
добавил в функцию GetColorOfPixel проверку координаты x и аварийный выход если она меньше 0 или больше ширины изображения. Вылетов программы при заливке не стало.


Вернуться к началу
 Заголовок сообщения: Re: Graphics editor <<ANIMAGE>>
СообщениеДобавлено: Чт май 03, 2018 4:48 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4450
Кастомный курсор нужно бы органичить областью рисования


Вложения:
download.png
download.png [ 26.43 КБ | 154 просмотра ]

_________________
Через тернии к звездам
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 100 сообщений ]  На страницу Пред. 13 4 5 6 7

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB