Page 6 of 8

Re: Kolibri Image Viewer

Posted: Sat May 04, 2013 9:42 am
by 0CodErr
Падает при попытке открыть файл из аттачмента.
Screen_Shot.pcx.7z (28.16 KiB)
Downloaded 349 times

Re: Kolibri Image Viewer

Posted: Fri May 10, 2013 3:36 pm
by dunkaist
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.

Re: Kolibri Image Viewer

Posted: Thu Nov 14, 2013 1:35 am
by Leency
KIV падает на этом файле. Файл не валидный, но всё же падение не есть нормальная реакция, тем более когда просматриваешь папку с фалами.

Re: Kolibri Image Viewer

Posted: Thu Nov 14, 2013 2:23 pm
by dunkaist
Leency wrote:KIV падает на этом файле. Файл не валидный, но всё же падение не есть нормальная реакция, тем более когда просматриваешь папку с фалами.
Пофиксил в libimg r4229.

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

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

Re: Kolibri Image Viewer

Posted: Thu Nov 14, 2013 2:28 pm
by Leency
Спасибо.

Re: Kolibri Image Viewer

Posted: Sun Mar 01, 2015 10:56 pm
by Leency
Можно пожалуйста добавить скроллбары в KIV?
Их ну ОЧЕНЬ не хватает.

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

Re: Kolibri Image Viewer

Posted: Thu Mar 05, 2015 3:02 am
by Leency
Критический баг:
Открыть любую картинку в KIV, нажать кнопку "Сделать рисунком рабочего стола" -> зависание.

Re: Kolibri Image Viewer

Posted: Wed Dec 21, 2016 6:28 pm
by 0CodErr
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: Select all

proc img_resize_to_screen
следовало использовать img_scale из библиотеки libimg.
Вот здесь под спойлером есть исходник imgC viewtopic.php?f=24&t=1220&p=66859#p66859 которая использует img_scale и не только. И это работает для разных битностей.

Re: Kolibri Image Viewer

Posted: Wed Dec 21, 2016 9:48 pm
by IgorA
0CodErr wrote:Вместо того, чтобы городить с нуля
Код:
proc img_resize_to_screen
следовало использовать img_scale из библиотеки libimg
Я согласен с тем что лучше использовать img_scale из библиотеки libimg, чем подключать функцию из buf2d. Но все-таки есть парочка возражений:
1) что такое _param1 и _param2 ?

Code: Select all

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 на пустое место не прицепишь, сначала нужно подготовить для него параметры.

Re: Kolibri Image Viewer

Posted: Wed Dec 21, 2016 10:15 pm
by 0CodErr
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: Select all

; 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: Select all

; 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. И не надо велосипед изобретать, его уже изобрели.

Re: Kolibri Image Viewer

Posted: Thu Dec 22, 2016 12:32 am
by IgorA
Все-равно что-то не получается. На всякий случай даю файл, может кто разберется.

Re: Kolibri Image Viewer

Posted: Thu Dec 22, 2016 3:01 am
by dunkaist
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.

Re: Kolibri Image Viewer

Posted: Thu Dec 22, 2016 10:42 am
by Pathoswithin
Понравилось тебе на английском писать, культурный уровень проекта повышаешь?

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

Re: Kolibri Image Viewer

Posted: Fri Dec 23, 2016 7:27 pm
by 0CodErr
Pathoswithin wrote:Понравилось тебе на английском писать, культурный уровень проекта повышаешь?
По-моему это хорошо, ведь больше людей(потенциальных разработчиков) смогут прочитать и понять.

Re: Kolibri Image Viewer

Posted: Wed Nov 01, 2017 12:34 am
by dunkaist
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