Программа для изготовлении иллюстраций с прозрачным фоном
Goto page 1, 2, 3  Next
 
Libroom Forum IndexПрограммное обеспечение
AuthorMessage

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 10.06.2010 14:59    

(Зеркала топа - здесь и здесь)

2010/07/03 Ура, свершилось! Smile Я таки сделал программу для изготовления прозрачных картинок. Вот она: limpng - limpid PNG convertor v1.0 - прошу любить и жаловать, скачивать и пробовать, хаять и предлагать! Smile

Что может? А очень много чего:
  • переводить чёрно-белые и серые картинки в формате PNG в прозрачный вид по ранее (ниже)описанному алгоритму;
  • то же самое проделывать и с цветными картинками (понятно, не настолько гладко - полностью прозрачное не может быть цветным, иначе его не будет видно, цветное оно или нет; но какие-то пропорции всё ж сохраняются);
  • делать полупрозрачные картинки - сквозь которые фон просвечивается, но не в полную силу; степень прозрачности регулируется;
  • делать "классическую" (ступенчатую) прозрачность, т.е. какие-то самые яркие участки картинки будут полностью прозрачны, а всё остальное остаётся полностью непрозрачным - а-ля аппликация или спрайтовая графика; порог прозрачности, опять же, можно задавать;
  • в качестве исходных принимать любые прозрачные, непрозрачные, полупрозрачные и частично прозрачные картинки, в т.ч. полученные любыми программами, а не только этой;
  • восстанавливать исходные непрозрачные картинки из любых вышеперечисленных - а если они "опрозрачнивались именно этой программой и после того ничем не редактировались и ничем, кроме optipng, не конвертировались, то гарантируется точное побитное восстановление вместе с восстановлением имени файла;
  • проделывать все вышеперечисленные действия с любыми степенями и порогами прозрачности над неограниченным количеством файлов в один заход.
  • (А в следующей версии будет ещё и выборочное "опрозрачнивание" участков рисунка по заданной пользователем маске! - загвоздка только в выборе способа кодирования желаемой прозрачности, чтобы пользователю было удобно задавать маску любым графическим редактором вплоть до micro$oft paint'а.)


Как уже, наверно, многие догадались, Smilelimpng - консольная программа и управляется параметрами в командной строке. При запуске без параметров или с параметром -h программа рассказывает о себе Smile и даёт список управляющих параметров - пока только по-английски, а вот несколько сокращённый перевод:
limpng wrote:
limpng - limpid PNG convertor, версия, дата
Вдохновлено Либрусеком и Флибустой (http://lib.rus.ec/node/228164/, http://www.flibusta.net/node/72869/)
Использование:
limpng [ опции ] файл(ы) [ ... ]
Файлы:
изображения в формате PNG
Опции:
-h - эта подсказка;
-q - режим "молчун" (выдаются только сообщения об ошибках);
-v - режим "болтун" (полезно, когда что-то идёт не так и хочется узнать причины происходящего);
-n - НЕ метить выходные файлы специальной меткой; иногда может способствовать уменьшению их размеров, что НЕ позволяет в дальнейшем восстанавливать из них исходные изображения опцией -r;
-t <число> - уровень прозрачности (0..255); 0 даёт непрозрачную картинку, 255 - полностью прозрачную в белом и непрозрачную в чёрном; все пиксели получают степень прозрачности, пропорциональную их яркости; можно задавать опцию сколько угодно раз с разными значениями уровня;
-s <число> - порог ступенчатой прозрачности (0..256): пикселы с яркостью меньше порога будут непрозрачными, а от порога и выше - полностью прозрачными; при этом их исходные значения сохраняются в выходном файле и могут быть восстановлены, если не задана опция -n; опять же, можно задавать сколько угодно раз с разными значениями порога;
-r - восстановление оригинальной непрозрачной картинки (аналогично опциям -t 0 или -s 256); восстановленная картинка будет сохранена в файле с именем, из которого была получена восстанавливаемая, если это было не с опцией -n;
-d <выходной-каталог> - записывать полученные файлы в отдельный выходной каталог вместо исходного;
-w - перед завершением работы ждать нажатия клавиши, чтобы пользователь мог убедиться в отсутствии (или наличии) ошибок выполнения.
------------
Выходные файлы, сделанные из каждого исходного <filename>.<ext>, получают имена вида <filename>-<режим>[<уровень>].<ext> (например, из test.png можно получить test-r.png и test-s128.png).
Если не была задана опция -n, все преобразования обратимы; но некоторые ступенчато-прозрачные картинки могут "испортиться" и не годиться к восстановлению, если преобразование выполнялось с -n или файл впоследствии обрабатывался ещё какими-то преобразователями, оптимизаторами или графическими редакторами.

Примеры запуска программы:
limpng -t 255 -s 255 -s 240 -s 200 -s 100 image1.png image2.png -
из каждого исходного файла сгенерирует пять файлов:
image1-t255.png и image2-t255.png - прозрачные по ранее предложенному типу;
image1-s255.png и image2-s255.png - "классически" прозрачные в чисто-белых областях;
image1-s240.png и image2-s240.png - "классически" прозрачные в областях белых и почти белых (чуточку темноватых или белых чуточку подкрашенных);
image1-s200.png и image2-s200.png - серьёзно "побитые" прозрачностью (могут пострадать лица, особенно глаза/зубы, а также яркие детали одежды, небо, детали мебели и много чего ещё);
image1-s100.png и image2-s100.png - бо́льшая часть поля будет прозрачной, уцелеют только штаны-пиджаки-ботинки и тёмные волосы. Smile
limpng -d original -r image1-s100.png и image2-t255.png -
в каталог по имени original (если такой, конечно, существует) будут восстановлены непрозрачные оригиналы исходных файлов (в нашем случае это original\image1.png и original\image2.png).

Уфф! Вроде ничего не забыл.
...хотя да - ещё остался вопрос с исходными текстами программы. Хм. Выложу. Не прямо сейчас: в них слишком много обрывков, недореализованных и отброшенных фишек, комментов матом и прочей шелухи - не то чтобы "стыдно людям показать", но... В общем, выложу под лицензией GNU GPL, если кто расскажет, как это правильно сделать, или покажет, где это внятно расписано.
Upd 2010-07-05: уже.

(тут прежнее содержимое стартового поста)
Об изготовлении иллюстраций с прозрачным фоном
Придумал ещё один способ делать чёрно-белые (точнее, 256-серые) иллюстрации с прозрачностью. В отличие от "классического" способа, не увеличивает размер файла с картинкой, в принципе не даёт паразитных ореолов и не требует установки громоздкого проприетарного софта - все компоненты open source'ныe.
Базовая идея проста как дрова: вместо выбора "прозрачного" цвета воспользоваться альфа-каналом, а чтобы не было ореольчиков - изображение держать только в альфа-канале, а то, что обычно считается изображением, сделать полностью чёрным.
Итак, берём исходную картинку (если кто не узнал - это фрагмент иллюстрации к сборнику юморесок Остапа Вишни "Самостійна дірка"):
Рис. 1 wrote:

Поскольку мы собираемся делать прозрачным фон (белые участки), а в альфа-канале прозрачно как раз чёрное, то первым делом сделаем негатив:
Рис. 2 wrote:

и картинку с чёрной заливкой:
Рис. 3 wrote:

Теперь осталось собрать одно с другим в правильном порядке - и вуаля:
Рис. 4 wrote:

В результате мы получили изображение с прозрачным фоном, гарантированно не дающее ореолов. Вот так оно выглядит, к примеру, на оранжевом (256-128-0) фоне:
Рис. 5 wrote:

Сомневающихся прошу сохранить рис. 4 и посмотреть его любым вьюером на сколь угодно тёмном фоне, вплоть до чёрного, Smile и убедиться.

Теперь две ложки дёгтя. Первая: я знаю только одну софтинку, способную проделать все эти операции (особенно финальную сборку) в едином технологическом цикле: скриптовый видеоредактор-фреймсервер Avisynth. Зато он позволяет проделать всё вышеперечисленное без излишних телодвижений - попросту выполняя скрипт:
Code:
function make_transparent( string name, string outname ) {
   imagesource( name, 0, 0, pixel_type="rgb32" ) # делаем из картинки видеоролик длиной в один кадр
   invert() # получаем негатив
#   resetmask().imagewriter( outname + ".negative.", type="png" ) # - можно сохранить в файл
   inv = last # запоминаем этот видеопоток, пригодится
   inv.blankclip() # делаем чёрную картинку
#   subtitle( "Не поддерживается!", align=1,text_color=$00FFFFFF, halo_color=$FF000000 )
#   resetmask().imagewriter( outname + ".black.", type="png" ) # - тоже можно сохранить
   last.mask( inv ) # собираем в цельную картинку
   imagewriter( outname + ".", type="png" ) # и сохраняем в файл
   showalpha().invert() # просто для удобства - чтобы плеер вывел исходную картинку
}

# вызов функции: первый параметр - полное имя исходного файла,
# второй - имя (без расширения) для выходного:
make_transparent( "original.png", "transparent" )

# а вот так можно одним вызовом преобразовать несколько файлов сразу:
#make_transparent( "image1.png", "out1" ) + \
#make_transparent( "image2.png", "out2" ) + \
#make_transparent( "image3.png", "out3" ) + \
#make_transparent( "image4.png", "out4" ) + \
#make_transparent( "image5.png", "out5" ) + \
#make_transparent( "image6.png", "out6" )
Для запуска скрипта на выполнение его следует "проиграть" любым видеоплеером (разумеется, при установленном Avisynt'е); для отладки хорошо использовать видеоредактор VirtualDubMod - скрипт открывается как видеофайл, а по Ctrl-E появляется удобное окно редактирования скрипта.
Вторая: в принципе можно себе представить как вьюер картинок, так и FB2-вьюер, в принципе не поддерживающие .png-файлы с масками; пользователи таких программ увидят вместо картинки просто чёрный прямоугольник. Специально на такой случай в скрипте есть (закомментирована) строка, выводящая поверх чёрного надпись "Не поддерживается!". Вот так в нашем случае выглядит чёрный прямоугольник с этой надписью:
Рис. 6 wrote:

(в общем случае положение надписи надо каждый раз подбирать, чтобы она ненароком не залезла на рисунок).
А вот так выглядит готовая картинка, собранная с этой надписью:
Рис. 7 wrote:

Разумеется, надпись можно прочитать только под вьюером, не поддерживающим прозрачность в .png-файлах.

В принципе, полученные скриптом .png-файлы выкладывать куда-либо ещё рано - они крайне неоптимальны, т.к. в 24-битном полноцветном формате хранят чёрно-белые картинки. Эти файлы стоит дообработать PNG-оптимизатором - на выбор, либо open-source'ным OptiPNG'ом:
Code:
optipng.exe -zc1-9 -zm1-9 -zs0-3 -f0-5 -dir output *.png

либо проприетарным (бесплатным для некоммерческого использования) PNGOUT'ом:
Code:
for %i in ( *.png ) do pngout.exe %i output\%i

Оба хороши тем, что сжимают .png-файлы по самые уши, зато гарантированно без потери качества. При подготовке картинок для этого поста я использовал OptiPNG.

Вот вроде и всё. Хотя да, насчёт обещанного неувеличения размера: таки да! Smile Кому не лень проверить - сохраните картинки и убедитесь.
(Размер файла рисунка номер 7 таки увеличился по сравнению с оригиналом (рис. 1) на целый килобайт. Но это не за счёт использования маски, а за счёт предупреждающей строки: примерно столько разницы в размерах чёрного прямоугольника с надписью и без таковой.)

Upd: А вот так выглядит полутоновый рисунок с прозрачным фоном:
Рис. 8 wrote:

И ещё: для оптимизации .png'ов рекомендую таки OptiPNG - он сохраняет DPI оригинального файла (а PNGOUT нагло прописывает 300 dpi) и обработанные им файлы корректно разворачиваются в .bmp и .jpg.

Upd2: Ё-пс!.. http://ipicture.ru/ гадит в картинки даже при установленной галочке "Отключить все эффекты". Я выкладывал файл рис. 8 весом 151774 байт, а скачивается почему-то 252711 байт... Sad Кто знает более приличный картинкообменник?

2010/06/11 Книгу, иллюстрации в которой обработаны описанным способом, выложил здесь и здесь. Прошу скачивать, смотреть различными читалками и рассказывать мне о всех наступленных граблях.
Про одну граблю уже знаю - на LBook V3 под CoolReader'ом 3 и на его PC'шном эмуляторе полутоновая картинка выглядит омерзительно-однобитной. Однобитно омерзительной:
Рис. 9 wrote:
Автор CoolReader'а уже в курсе.

2010/06/12 Avisynth'овый скрипт для потрошения "подозрительных" картинок на собственно картинку и альфа-маску - вторая версия:
Code:
# интересные цвета для фона: $ff8000 - густо-оранжевый, $FF0080 - пурпурный, $8000FF - фиолетовый
function analyze( string name ) {
   bgnd = $ff8000
   imagesource(name, 0, 0, pixel_type="rgb32" )
   addborders(8,20,8,8,$80808080)
   white = last.blankclip(color=$ffffff)
   colored = last.blankclip( color=bgnd)
   stackvertical( \
      stackhorizontal( \
         white.layer(last,"add",257).subtitle("на белом фоне", align=8), \
         colored.layer(last,"add",257).subtitle("на цветном фоне", align=8) \
      ), stackhorizontal( \
         resetmask().subtitle("передний план", align=8), \
         showalpha().resetmask().subtitle("альфа-канал", align=8) \
      )).resetmask()
   imagewriter( name + ".drawed.", type="png")
#   lanczos4resize(800,600)
}
analyze( "stefan_full_rgba.png" )

Примеры потрошения (в качестве цветного фона выбран густо-оранжевый):
Рис. 10 - обычная картинка (рис. 1): wrote:
Рис. 11 - рисунок, обработанный по моей технологии (рис. 7): wrote:
Рис. 12 - классическая картинка с прозрачным фоном: wrote:
(Tanja45, http://lib.rus.ec/node/228164#comment-139353)
(кликабельно)
Рис. 13 - ещё одна интересная технология: wrote:
(bokonon83, http://www.flibusta.net/comment/105832#comment-105832)
)
Рис. 14 - Full RGBA тукан (правый в ряду из трёх): wrote:
(http://www.libpng.org/pub/png/pngs-img.html)
Хорошо видны характерные особенности картинок:
  • рис. 10 - оригинальная картинка полностью непрозрачна, передний план идентичен оригиналу, альфа-канал полностью непрозрачен (белый);
  • рис. 11 - передний план полностью чёрный (не считая надписи внизу), альфа-канал - негатив рисунка (чёрный фон, белые линии с серыми краями), оригинал прозрачен в светах, непрозрачен в тенях, полупрозрачен в серых (края линий, штриховки);
  • рис. 12 - однобитная маска в альфа-канале прикрывает только фон, на светло- и средне-серых участках переднего плана (сглаженные края линий, штриховки) на белом фоне ОК, на цветном заметны серебристые ореолы;
  • рис. 13 - в каком-то смысле обратен предыдущему и похож на мою технологию: основной вклад в изображение даёт маска с полутонами, а однобитный передний план прикрывает чёрным непрозрачные и полупрозрачные пиксели и открывает только полностью прозрачный фон; искажений на цветном фоне нет, а на вьюерах, не поддерживающих альфа-канал, будет видно хоть что-то;
  • рис. 14 - нуу, это вообще пример творческого подхода к альфа-каналу. Smile
Вместо видеоскриптов лучше сделаю программки на Си и библиотеке FreeImage (либо ImageMagick или ещё какой - пока не решил) - сначала простенькие консольные, а потом, может, и на GUI замахнусь. Smile
Впрочем, если кто-то успеет раньше - не обижусь. Smile )

2010/06/24 Для желающих провести обратную операцию - перекодирование прозрачных и полупрозрачных картинок в непрозрачные - могу предложить слегка подправленную программу png2bmp 1.52 из пакета pngtools. Она из .png делает .bmp, по возможности сохраняя глубину цвета, палитру и т.д. Программа как перекодирует файл в файл, так и может работать фильтром, т.е. брать данные из входного потока и передавать их на выходной.
Программа - оригинальный исходник, мой патч к нему и скомпилированный .exe'шник под windows - лежит здесь: http://ifolder.ru/18286680.
Изменения заключались в добавлении в командную строку ключика "-w", по которому под прозрачную исходную картинку "подкладывается" белый фон (по умолчанию фон чёрный). Полный список ключей программа выдаёт при запуске без параметров.
Upd: более свежая версия - png2bmp 1.62 (http://cetus.sakura.ne.jp/softlab/b2p-home/) с аналогичными изменениями: http://ifolder.ru/18297804


Last edited by Дотошный Рыжик on 06.07.2010 01:08; edited 12 times in total
 
View user's profile ^

pruss
Искушенный участник форума

Искушенный участник форума



Joined: 28 Oct 2007
Posts: 44



Posted: 10.06.2010 19:26    

все это хорошо, особенно когда в книгу нужно пару картинок вставить.
А когда там 100-200 иллюстраций цветных? Сколько времени это займёт?
Хочется автоматом, иначе...
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 10.06.2010 20:19    

pruss wrote:
А когда там 100-200 иллюстраций
В конце скрипта 100-200 строк вида
Code:
make_transparent( "image001.png", "out001" ) + \
make_transparent( "image002.png", "out002" ) + \
.........
make_transparent( "image999.png", "out999 )
- и готово. Smile Чем не автомат?
pruss wrote:
цветных?
А тут уже сложности - цветного альфа-канала не бывает, да и на кой цветным иллюстрациям прозрачность? Confused
 
View user's profile ^

Alex Worker
Член клуба The eBook

Член клуба The eBook



Joined: 28 Jan 2004
Posts: 554


Location: Vancover, Canada

Posted: 10.06.2010 20:45    

спасибо, полезная штука
_________________
Alex Worker
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 10.06.2010 22:13    

Дотошный Рыжик wrote:

Теперь осталось собрать одно с другим в правильном порядке - и вуаля:

А можно попросить выложить рядом с этим результатом еще и картинку приготовленную "неправильным" способом? Спасибо.
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 10.06.2010 22:27    

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

Alex Worker
Дарю!
(театральным шёпотом) А не нарисуешь программку, которая проделывает то же самое?

Posted after 2 hours 27 minutes 12 seconds:

viktorz wrote:
еще и картинку приготовленную "неправильным" способом?
А неправильных много: перепутать слои - получится полностью прозрачное, залить картинку не чёрным, а белым - опять негатив, залить в альфа-канал не негатив, а позитив - опять получится негатив... Скучно.
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 11.06.2010 22:05    

Дотошный Рыжик wrote:
viktorz wrote:
еще и картинку приготовленную "неправильным" способом?
А неправильных много: перепутать слои - получится полностью прозрачное, залить картинку не чёрным, а белым - опять негатив, залить в альфа-канал не негатив, а позитив - опять получится негатив... Скучно.

Я имел ввиду, приготовленные "классическим" способом, с "паразитными ореолами". Ну чтоб было видно, за что боролись.
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 11.06.2010 23:22    

viktorz wrote:
приготовленные "классическим" способом, с "паразитными ореолами"
А-аа. Тут у меня увы. Нужен фотошоп плюс какие-никакие навыки его использования. Чего не имею, того не умею. Sad
А сам не изготовишь? Методика описана вот тут, в качестве сырья можно взять рисунок 1 и исходник рисунка 8:
Исходник к рис. 8 wrote:


Posted after 24 minutes 34 seconds:

Upd: "Неправильный" способ применялся к рис. 8 вот тут, но картинку при этом ещё и дополнительно осветлили, так что сравнение результата будет несколько э-ээ... некорректным. Впрочем, ореолы и пятна псевдосоляризации таки заметны. Sad
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 12.06.2010 01:01    

У меня фотошопа тоже нет. И навыков.
Решил зато imagemagick попробовать:

скрипт bg_removal wrote:

скрипт bg_removal wrote:



Я, честно говоря, затрудняюсь определить - это нужный результат? Или нет?

Делалось двумя командами в командной строке:
Code:
vic@vic-laptop:~$ convert -negate src.png negative.png
vic@vic-laptop:~$ ./bg_removal negative.png red 0 100 res.png

_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 12.06.2010 19:13    

viktorz wrote:
затрудняюсь определить - это нужный результат?
О! Как раз то, что надо!
Доделываю avisynth-скрипт для "разделки" .png'ов на слой изображения и альфа-канал, к вечеру выложу. Но и то, что уже есть, показало: картинка - чёрная, альфа - негатив:
image1res.drawed.png wrote:

Беру твой способ на вооружение - "причешу" его под windows и выложу.

Posted after 4 hours 33 minutes 13 seconds:

Э-ээ... навскидку не получается под windows заточить. Скачал http://www.imagemagick.org/download/binaries/ImageMagick-6.6.2-4-Q8-wi ndows-dll.exe, пока разбираюсь - что он может. Но больше склоняюсь к сделать программку на Си.

Posted after 8 minutes 43 seconds:

Выложил "разделочный" скрипт и примеры его работы.

Posted after 14 minutes 44 seconds:

viktorz wrote:
приготовленные "классическим" способом, с "паразитными ореолами"
Есть одна:
Картинка с прозрачным фоном: wrote:
- Tanya45 сделала из 600-dpi'йного оригинала.
 
View user's profile ^

Alex Worker
Член клуба The eBook

Член клуба The eBook



Joined: 28 Jan 2004
Posts: 554


Location: Vancover, Canada

Posted: 14.06.2010 21:56    

Дотошный Рыжик wrote:

(театральным шёпотом) А не нарисуешь программку, которая проделывает то же самое?

если только что через пару месяцев Sad
на работе опять завал - реализую эротические фантазии своего шефа и не только на тему финансовых вычислений и разнообразных отчтов... Большой проэкт. А надо, как обычно, "на вчера" Very Happy
_________________
Alex Worker
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 15.06.2010 11:54    

Alex Worker
Не бери в голову. Я уже почти сделал - правда, макет, на FreeImage; ещё денёк - переделаю на libpng и будет вещь. Smile
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 18.06.2010 22:43    

Чуть-чуть новостей: "опрозрачнивалка" задышала. Подробнее в основной теме.
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 24.06.2010 14:55    

Добавил программу для перекодирования прозрачных картинок в непрозрачные. Подробности см. в конце стартового поста (дополнение за 24 июня 2010).
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 26.06.2010 11:11    

Дотошный Рыжик
А может, всем было бы спокойней, если бы Вы результат сохраняли не в варианте PNG "палитра с прозрачностью", а в варианте PNG "RGBA"? Глядишь, совместимость была бы получше (не утверждаю, предполагаю - нуждается в проверке). Если размер побольше, так может оно того стоит?
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 26.06.2010 13:44    

viktorz wrote:
не в варианте PNG "палитра с прозрачностью", а в варианте PNG "RGBA"?
Размеры .fb2-файла... практически вдвое. Sad
viktorz wrote:
совместимость была бы получше [...] нуждается в проверке
Не знаю, не знаю... Делать совместимость с чужими ошибками - оно, конечно, обидно. Sad Опять же, всех не напроверяешься. Confused
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 03.07.2010 19:08    

Доделал программу для перегона непрозрачных иллюстаций в прозрачные, прозрачных в полупрозрачные и всяких других комбинаций. Smile Ссылка, инструкция и прочие подробности - в начале стартового поста.
pruss wrote:
А когда там 100-200 иллюстраций цветных? [...] Хочется автоматом, иначе...
Кстати, таки это всё тоже есть! Юзай на здоровье! Smile
 
View user's profile ^

Дотошный Рыжик
Член клуба The eBook

Член клуба The eBook



Joined: 04 Feb 2009
Posts: 2985


Location: Юго-Запад СССР

Posted: 06.07.2010 01:10    

Выложил на сорс-форже, линк в начале стартового поста.
 
View user's profile ^

kaznelson
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jun 2007
Posts: 4642


Location: Москва

Posted: 06.07.2010 09:00    

Дотошный Рыжик
Если Вы сделаете программку, которая будет напрямую кушать FB2 и перекодировать прозрачные картинки в непрозрачные и наоборот - цены ей не будет Wink.
_________________
Kobo Glo HD, Kobo Aura H2O, Kindle Paperwhite 2
 
View user's profile ^

GribUser
Fictionbook.Lib, FB2, Divide&Conquer

Fictionbook.Lib, FB2, Divide&Conquer



Joined: 18 Jun 2003
Posts: 7297


Location: Мордор (северный Гандурас)

Posted: 06.07.2010 10:19    

Дотошный Рыжик wrote:
Опять же, всех не напроверяешься.
Число графических библиотек, работающих с png вполне конечно. Правда, большая их часть не поддерживает новомодные мульки формата Rolling Eyes
 
View user's profile ^
Libroom Forum IndexПрограммное обеспечениеAll times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Libroom, 2021