zSea - полноценный графический просмотрщик

Processing, playback of audio and video
  • Mario
    Спасибо за обновление.
    scaling.obj это вообще отдельная тема, которая должна использоваться программами, выводящими изображения (графическими редакторами, просмотрщиками, браузерами и т.д.). А потому он должен всегда быть в /sys/lib/.
  • Ну, пока он другими программами не используется. Разве что когда я напишу предпросмотр для графических файлов в KFM, но это уже отдельная тема.
  • Где-то видел беседу о том, что библиотеки для сохранения картинок в системе нет, и что можно сделать довольно просто сохранение в BMP и PNG, а с JPG и GIF придется помучиться.
    Так как очень хочу увидеть (и увижу, я уверен) возможности конвертора изображений в zSea, то нашел возможно полезные ссылки:
    http://www.codeproject.com/KB/graphics/SimpleJpeg.aspx - простой кодировщик в jpeg (с объяснениями работы алгоритма)
    http://livegif.ru/articles/6_3.html - алгоритм сжатия LZW для GIF
    http://www.martinreddy.net/gfx/2d/GIF-comp.txt - тоже алгоритм сжатия GIF
  • Фига себе - вот бы мне такую уверенность в себе самом. :mrgreen:
    Не могу обещать насчет остального, но BMP могу сделать.
  • некоторые идеи можно подчерпнуть из GEGL http://www.gegl.org/ и ImageMagick http://www.imagemagick.org/script/index.php
  • Какие именно?

    Если что меня вдохновляла сначала ACD See (много лет назад, пока не стала соревноваться с Nero в претензиях на мегакомбайн), а последние несколько лет FastStone Image Viewer.
  • Алгоритмы по обработке изображений.
  • Часть сообщений из этой темы перенесена в Несколько портированных графических утилит
  • Если не секрет, как работать со scaling.obj? Какие вызовы и всё такое?
    Можно ли картинку прочитать imglib, затем конвертировать в rgb и передать scaling? Или лучше/быстрее/веселее будет с cnv_png? Если да, то как пользоваться?
  • Если не секрет, как работать со scaling.obj? Какие вызовы и всё такое?
    Вызов только один - масштабирование.
    Можно ли картинку прочитать imglib, затем конвертировать в rgb и передать scaling? Или лучше/быстрее/веселее будет с cnv_png? Если да, то как пользоваться?
    Можно как угодно, но придется самому вручную создать заголовок RAW в том формате который используется всеми библиотеками zSea. Некоторая документация есть в директории zSea на SVN. Естественно я сам предпочитаю использовать свои библиотеки.
    Вызов собственно масштабирования:

    Code: Select all

    	push	dword eax			; eax - crop size
    	push	dword 0				; edi - background color
    	push	dword 1				; esi - filtering
    	push	dword 0				; edx - scaling mode
    	push	dword [stretch_start_coordinates]	; ecx - start_coordinates
    	push	ebx				; ebx - new_size
    	push	dword image_file		; eax -  convert data table
    
    	call	[Scaling_Start]
    
    В общем нужно поэкспериментировать чтобы разобраться. На детальное описание у меня пока руки не доходят.
  • SVN r.2188-2189 выбор позиции к которой будет привязана обрезка при пропорциональном растяжении, при установке фона - это дает несколько более широкие возможности для манипуляции фоновым изображением.
  • SVN r.2236 - Установка фонового изображения с пропорциональной растяжкой и вписыванием в экранный размер (Stretch + Inscribe). Свободные от изображения области заполняются заданным цветом, пока только серый, но в следующей ревизии сделаю выбор цвета. Придется изобретать компонент для выбора цвета.
  • Компонент для выбора цвета - очень важная штука. Лучше если несколько видов. Так и не разбирался со scaling.obj еще :(
  • В связи с развитием и использованием библиотеки llibimg (а она объективно сильно обогнала возможности плагинов zSea по количеству поддерживаемых форматов) - считаю нецелесообразным дальнейшее развитие программы. Если есть желающие - можете переписывать на libimg, однако сомневаюсь что такие люди найдутся.
  • Who is online

    Users browsing this forum: No registered users and 5 guests