Board.KolibriOS.org
https://board.kolibrios.org/

Kolibri Image Viewer
https://board.kolibrios.org/viewtopic.php?f=38&t=1209
Page 6 of 8

Author:  0CodErr [ Sat May 04, 2013 9:42 am ]
Post subject:  Re: Kolibri Image Viewer

Падает при попытке открыть файл из аттачмента.
Attachment:
Screen_Shot.pcx.7z [28.16 KiB]
Downloaded 128 times

Author:  dunkaist [ Fri May 10, 2013 3:36 pm ]
Post subject:  Re: Kolibri Image Viewer

0CodErr wrote:
Падает при попытке открыть файл из аттачмента.
Пофиксил в libimg (r3499).

Декодер ожидал, что RLE будет учитывать разрывы color planes внутри общей scanline. Однако в спецификации ясно написано:
Спецификация pcx wrote:
There should always be a decoding break at the end of each scan line. But there will not be a decoding break at the end of each plane within each scan line.

Author:  Leency [ Thu Nov 14, 2013 1:35 am ]
Post subject:  Re: Kolibri Image Viewer

KIV падает на этом файле. Файл не валидный, но всё же падение не есть нормальная реакция, тем более когда просматриваешь папку с фалами.

Attachments:
1.zip [369 Bytes]
Downloaded 115 times

Author:  dunkaist [ Thu Nov 14, 2013 2:23 pm ]
Post subject:  Re: Kolibri Image Viewer

Leency wrote:
KIV падает на этом файле. Файл не валидный, но всё же падение не есть нормальная реакция, тем более когда просматриваешь папку с фалами.
Пофиксил в libimg r4229.

Там вообще плохо с невалидными файлами. Несложные и быстрые проверки делаются, а дальше уже идёт универсальность и надёжность vs скорость работы/разработки и простота кода.

Добавил файл в архив тестовых изображений.

Author:  Leency [ Thu Nov 14, 2013 2:28 pm ]
Post subject:  Re: Kolibri Image Viewer

Спасибо.

Author:  Leency [ Sun Mar 01, 2015 10:56 pm ]
Post subject:  Re: Kolibri Image Viewer

Можно пожалуйста добавить скроллбары в KIV?
Их ну ОЧЕНЬ не хватает.

Не заставляйте меня новую программу. Пожалуйста :(

Author:  Leency [ Thu Mar 05, 2015 3:02 am ]
Post subject:  Re: Kolibri Image Viewer

Критический баг:
Открыть любую картинку в KIV, нажать кнопку "Сделать рисунком рабочего стола" -> зависание.

Author:  0CodErr [ Wed Dec 21, 2016 6:28 pm ]
Post subject:  Re: Kolibri Image Viewer

Quote:
KolibriBot « Ср дек 21, 2016 7:47 pm » New SVN revision #6804 by IgorA in /programs/media/kiv/trunk: kiv: scale to screen big images (24 bit)
Вместо того, чтобы городить с нуля
Code:
proc img_resize_to_screen
следовало использовать img_scale из библиотеки libimg.
Вот здесь под спойлером есть исходник imgC viewtopic.php?f=24&t=1220&p=66859#p66859 которая использует img_scale и не только. И это работает для разных битностей.

Author:  IgorA [ Wed Dec 21, 2016 9:48 pm ]
Post subject:  Re: Kolibri Image Viewer

0CodErr wrote:
Вместо того, чтобы городить с нуля
Код:
proc img_resize_to_screen
следовало использовать img_scale из библиотеки libimg

Я согласен с тем что лучше использовать img_scale из библиотеки libimg, чем подключать функцию из buf2d. Но все-таки есть парочка возражений:
1) что такое _param1 и _param2 ?
Code:
proc img.scale _src, _crop_x, _crop_y, _crop_width, _crop_height, _dst, _scale, _inter, _param1, _param2 ;;
.........
;> [_param1]      = see libimg.inc                                                                ;;
;> [_param2]      = see libimg.inc                                                                ;;

посмотрел libimg.inc и толком ничего не понял что оно такое, но думаю что туда должны даваться какие-то константы из этого файла
2) даже если подключить img_scale то всеравно большая часть добавленной функции img_resize_to_screen останется не изменяемой. Потому как в ней вычисляются размеры в которые должно вписаться изображение, а если изображение полностью влазит, то изменений никаких не делается. Тут в любом случае пришлось-бы что-то городить потому что вызов img_scale на пустое место не прицепишь, сначала нужно подготовить для него параметры.

Author:  0CodErr [ Wed Dec 21, 2016 10:15 pm ]
Post subject:  Re: Kolibri Image Viewer

IgorA wrote:
2) даже если подключить img_scale то всеравно большая часть добавленной функции img_resize_to_screen останется не изменяемой. Потому как в ней вычисляются размеры в которые должно вписаться изображение, а если изображение полностью влазит, то изменений никаких не делается. Тут в любом случае пришлось-бы что-то городить потому что вызов img_scale на пустое место не прицепишь, сначала нужно подготовить для него параметры.
Оно у тебя только для 24 bit. Ты для каждой битности собрался дублировать код?
IgorA wrote:
что такое _param1 и _param2 ?
IgorA wrote:
посмотрел libimg.inc и толком ничего не понял что оно такое
Вот поэтому я специально и привёл ссылку viewtopic.php?f=24&t=1220&p=66859#p66859
И если бы ты прошёл по ней, то нашёл бы вот это
Code:
; if need scale then scale ; |--------------------------------------- ;
        cmp    [scale.height], dword 0
        je     .scaled
        cmp    [scale.width], dword 0
        je     .scaled
        cmp    [scale], byte "%"
        je    .percent
        push   dword [scale.height]
        push   dword [scale.width]
        jmp    .wh_pushed
.percent:
        mov    ecx, [src]
        mov    ebx, 100
        mov    eax, [ecx + 8]
        mul    dword [scale.height]
        div    ebx
        push   eax
        mov    eax, [ecx + 4]
        mul    dword [scale.width]
        div    ebx
        push   eax
.wh_pushed:
        push   dword LIBIMG_INTER_BILINEAR
        push   dword LIBIMG_SCALE_STRETCH
        push   dword 0
        mov    eax, [src]
        push   dword [eax + 8]
        push   dword [eax + 4]
        push   dword 0
        push   dword 0
        push   dword [src]
        call   [img_scale]
И что тут непонятного?
Code:
; scale type                    ; corresponding img.scale params
LIBIMG_SCALE_INTEGER   = 1     ; scale factor ; reserved 0
LIBIMG_SCALE_TILE   = 2     ; new width    ; new height
LIBIMG_SCALE_STRETCH   = 3     ; new width    ; new height
LIBIMG_SCALE_FIT_RECT   = 4     ; new width    ; new height
LIBIMG_SCALE_FIT_WIDTH   = 5     ; new width    ; new height
LIBIMG_SCALE_FIT_HEIGHT   = 6     ; new width    ; new height
LIBIMG_SCALE_FIT_MAX   = 7     ; new width    ; new height
Для LIBIMG_SCALE_STRETCH указываем width и height. И не надо велосипед изобретать, его уже изобрели.

Author:  IgorA [ Thu Dec 22, 2016 12:32 am ]
Post subject:  Re: Kolibri Image Viewer

Все-равно что-то не получается. На всякий случай даю файл, может кто разберется.

Attachments:
kiv.asm [28.74 KiB]
Downloaded 84 times

Author:  dunkaist [ Thu Dec 22, 2016 3:01 am ]
Post subject:  Re: Kolibri Image Viewer

IgorA,
there is an example of using img.scale. Regarding your code: set crop_width=image_width, same for height, src != dst.

Current img.scale has a number of limitations (e.g. animated images). I already implemented most of this functionality in my working copy, however I need some time to make the code ready for commit. Please, don't bother yourself with bugs of img.scale, just report.

Thank you for development of libimg.

Author:  Pathoswithin [ Thu Dec 22, 2016 10:42 am ]
Post subject:  Re: Kolibri Image Viewer

Понравилось тебе на английском писать, культурный уровень проекта повышаешь?

У меня тоже есть узконаправленные наработки, не знаю насколько в тему http://websvn.kolibrios.org/filedetails ... m#line-414

Author:  0CodErr [ Fri Dec 23, 2016 7:27 pm ]
Post subject:  Re: Kolibri Image Viewer

Pathoswithin wrote:
Понравилось тебе на английском писать, культурный уровень проекта повышаешь?
По-моему это хорошо, ведь больше людей(потенциальных разработчиков) смогут прочитать и понять.

Author:  dunkaist [ Wed Nov 01, 2017 12:34 am ]
Post subject:  Re: Kolibri Image Viewer

Hello again, nice to see you all, guys.

It's been more than 5 years as I assigned #11 to myself. Now I attach a new preview with scaling and scrollbars. Change zoom mode with 'w' and '=' keys (w for 'fit to window', = for 'do not scale', like sxiv).

I ask not for bug reports (have enough), but for UI ideas.

; cast Leency

Attachments:
kiv [13.13 KiB]
Downloaded 73 times

Page 6 of 8 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/