Программа для изготовления иллюстраций с прозрачным фоном

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

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

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

Как уже, наверно, многие догадались, :-) limpng - консольная программа и управляется параметрами в командной строке. При запуске без параметров или с параметром -h программа рассказывает о себе :-) и даёт список управляющих параметров - пока только по-английски, а вот несколько сокращённый перевод:

Цитата:
limpng - limpid PNG convertor, версия, дата
Вдохновлено Либрусеком и Флибустой
Использование:
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 - бо́льшая часть поля будет прозрачной, уцелеют только штаны-пиджаки-ботинки и тёмные волосы. :-)
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 написал:

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

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

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

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

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

Теперь две ложки дёгтя. Первая: я знаю только одну софтинку, способную проделать все эти операции (особенно финальную сборку) в едином технологическом цикле: скриптовый видеоредактор-фреймсервер Avisynth. Зато он позволяет проделать всё вышеперечисленное без излишних телодвижений - попросту выполняя скрипт:

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" )
(Ё-пс! Буковки "<br />" в конце каждой строки - паразитные, их переносить в скрипт не надо!)
Для запуска скрипта на выполнение его следует "проиграть" любым видеоплеером (разумеется, при установленном Avisynt'е); для отладки хорошо использовать видеоредактор VirtualDubMod - скрипт открывается как видеофайл, а по Ctrl-E появляется удобное окно редактирования скрипта.
Вторая: в принципе можно себе представить как вьюер картинок, так и FB2-вьюер, в принципе не поддерживающие .png-файлы с масками; пользователи таких программ увидят вместо картинки просто чёрный прямоугольник. Специально на такой случай в скрипте есть (закомментирована) строка, выводящая поверх чёрного надпись "Не поддерживается!". Вот так в нашем случае выглядит чёрный прямоугольник с этой надписью:
Рис. 6 написал:

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

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

В принципе, полученные скриптом .png-файлы выкладывать куда-либо ещё рано - они крайне неоптимальны, т.к. в 24-битном полноцветном формате хранят чёрно-белые картинки. Эти файлы стоит дообработать PNG-оптимизатором - на выбор, либо open-source'ным OptiPNG'ом:
optipng.exe -zc1-9 -zm1-9 -zs0-3 -f0-5 -dir output *.png
либо проприетарным (бесплатным для некоммерческого использования) PNGOUT'ом:
for %i in ( *.png ) do pngout.exe %i output\%i
Оба хороши тем, что сжимают .png-файлы по самые уши, зато гарантированно без потери качества. При подготовке картинок для этого поста я использовал OptiPNG.

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

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

Рис. 8 написал:

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

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

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

Рис. 9 написал:
Автор CoolReader'а уже в курсе.

2010/06/12 Avisynth'овый скрипт для потрошения "подозрительных" картинок на собственно картинку и альфа-маску - вторая версия:

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

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

Комментарии

Рыжий Тигра написал:
А при ручной подготовке картинки с альфа-каналом эту фишку можно учесть заранее и не делать таких ошибок.

Рыжий Тигра написал:
Вручную никто не мешает подрисовать альфа-канал картинки, чтобы сделать где надо - белый, а где надо - оставить прозрачным. Т.е. альфа-канал потенциально повышает выразительность иллюстрации - если его готовить с умом.

эти утверждения не следуют из первоначальных постов. там как раз заявлялась среди прочего простота метода — рисунок в альфа-канал, на место рисунка черный квадрат, и все это в скрипте (а лучше в специально-написанной программе) по 200 рисунков за раз. я просто развил эту мысль до предела :)
Рыжий Тигра написал:
На самом деле идея кривовата: далеко не все картинки годятся к бездумному "автоматическому опрозрачниванию".

о чем я и намекнул, сказав про белый цвет.
ccaid написал:
особенность такой прозрачности (независимо от варианта исполнения) — невозможно иметь белый цвет в картинке.

то есть у меня при прочтении сложилось впечатление, что предлагаемый метод — панацея. поскольку, видимо, это не так, стоит специально оговорить пределы его использования.

ccaid написал:
Рыжий Тигра написал:
Вручную никто не мешает подрисовать альфа-канал картинки, чтобы сделать где надо - белый, а где надо - оставить прозрачным. Т.е. альфа-канал потенциально повышает выразительность иллюстрации

эти утверждения не следуют из первоначальных постов. там как раз заявлялась среди прочего простота метода — рисунок в альфа-канал, на место рисунка черный квадрат, и все это в скрипте (а лучше в специально-написанной программе) по 200 рисунков за раз.
Ха, про "200 километров рисунков за раз" - это не я, это писал pruss; и таки да, технология это позволяет. (Другие технологии не позволяют и этого.) Но это не есть обязательно, и даже желательно это не всегда:
ccaid написал:
Рыжий Тигра написал:
далеко не все картинки годятся к бездумному "автоматическому опрозрачниванию".
о чем я и намекнул
[...]
развил эту мысль до предела
Во-во. Я даю способ сделать "200 километров рисунков", просмотреть каждый на предмет "что получилось", и остаётся только выбрать годные, забраковать негодные и подправить то, что следует подправить. (Редактором альфа-канала я не располагаю, но, видимо, в природе такие тоже существуют, а если и нет - полагаю, вскоре ещё кто-нибудь сделает. См., например, Color Quantizer - не удивлюсь, если альфа-редактор появится именно в нём.
Однако можно подправить альфа-канал "через жопу" - например, в редакторе, который альфу не рюхает, залить чёрным часть рисунка, которая должна остаться непрозрачной, "опрозрачнив" то, что получилось, и опять в редакторе заменив зачернённую часть картинки на таковую из оригинала.)
ccaid написал:
у меня при прочтении сложилось впечатление, что предлагаемый метод — панацея. поскольку, видимо, это не так, стоит специально оговорить пределы его использования.
Хм. Предлагаемый метод - не панацея, но технология, т.е. "можно ещё и вот так". Сделать "не так" - тоже можно, но пока только вручную.
"Автоопрозрачнивание" же, интегрированное в читалку, вмешаться вручную не позволяет и поэтому технологией-в-строгом-смысле не является. :-( Потому я и набросился с критикой на идею о доработке читалки. :-)

Добрый день!
Есть такая замечательная утилита MyBitmap (http://www.4neurons.com/other/mbm/mbm.html). Распространяется freeware. Разработчик 4Neurons разрабатывает свой новый растровый формат (MBM) и предлагает для работы с ним эту программу. Но дело не в этом. Данная программа способна любой цвет в иллюстрации сделать прозрачным, причем не только точный цвет но и его оттенки. Например, если сохранить иллюстрацию в форме Grayscale 8-bit, т. е. обычную серую, то белый цвет можно сделать прозрачным и при этом все оттенки серого станут настолько прозрачными, насколько в них присутствует белый. Файлы получаются небольшими, смотрятся на различных цветных подложках замечательно. И вся недолга.
Сохраняем иллюстрацию как BMP Grayscale 8-bit, загружаем в утилиту, выбираем белый цвет как прозрачный, сохраняем как PNG (утилита умеет сохранять файлы в разные форматы и с разными настройками). И все. И не надо возни с альфа-каналами, Фотошопом, масками, слоями и прочими прелестями. Дело всего нескольких секунд.

Amfortas написал:
И не надо возни с альфа-каналами, Фотошопом, масками, слоями и прочими прелестями. Дело всего нескольких секунд.
Ну дык ясен перец - нажать кнопочку всегда проще, чем разработать технологию. :-)
Amfortas написал:
Сохраняем иллюстрацию как BMP Grayscale 8-bit, загружаем в утилиту, выбираем белый цвет как прозрачный, сохраняем как PNG
Поправка: не надо даже преобразовывать оригинальный .png в .bmp - MyBitmap.exe отлично принимает и .png.
Поправка 2:
Amfortas написал:
Файлы получаются небольшими
Исходный файл - рис. 1 в стартовом посте - с 4-битным цветом и палитрой на 7 цветов весит 15 с небольшим килобайт. Результат работы Mybitmap'а - 24-битный full-RGB PNG, весом 29 килобайт, т.е. почти вдвое. Программу надо дорабатывать... :-(
Ну, и самое интересное: а из прозрачного в обычный - как?

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

Доделал программу для перегона непрозрачных иллюстаций в прозрачные, прозрачных в полупрозрачные и всяких других комбинаций. :-) Ссылка, инструкция и прочие подробности - в начале стартового поста.

Выложил на сорс-форже.

Надеюсь, вы будете оповещать здесь об обновлениях и дальше?

Tanja45 написал:
почему труколорные картинки в альфаканалах все равно криво видны в покетбуках, как и палеттные. [...] ан в все равно глюка вылезает. :(

Почему-почему. Руки кривые у разработчиков. Или ошибка в генотипе. Или эта, как её... ну, болезнь, как у Дастина Хоффмана, когда прочитанное глазами больше двух секунд в голове не держится - только надиктованное, а стандарт вслух начитать некому. Ясно ж нарисованы формулы для расчёта видимого пиксела по RGBA и фону и в libpng.h для этого даже макры расписаны - а всё равно игнорируют. И битьё рублём в таких случаях не помогает - только поймать в тёмном углу, прижать к стенке и внушать, внушать... :-(
Tanja45 написал:
Я даже придумала как их делать не такими тяжелыми в труколоре, как у Ромы
О! А как? Покажи экземплярчик! Кстати, а Рома - это кто? У него какие?

Рыжий Тигра написал:
[...] Ясно ж нарисованы формулы для расчёта видимого пиксела по RGBA и фону и в libpng.h для этого даже макры расписаны - а всё равно игнорируют. [...]

Ога, как и всегда, очень подробно и не очень понятно. Спасибо, Тигрик за замечательное запутывание вопроса. :)

Когда мы с тобой выясняли, на каких девайсах и как показывается альфа-прозрачность, Lord KiRon сказал, что его конвертер в e-pub перегоняет все палеттн.картинки в png-32, и тогда, мол, видно везде. Утверждал, что вес увеличивается в 2 с небольшим раза (ну, реально-то - почти в три). Я за эту идею ухватилась, но делала несколькими прогами, получается полегче. В IE не пропадают. Но попросила проверить владельцев покетбука и соньки. В покетбуке видно плохо, не все линии, а при перегонке в спецефическисоньковский формат - опять же черные квадраты. А ребенкина 600-я сонька их же показывает замечательно в e-pub. Вес картинок при конвертации из fb2 в e-pub не изменился. Пример таких картинок в книжке http://lib.rus.ec/b/215905

А может, покетбука эта и нормальные картинки тоже портит, а?

Tanja45 написал:
Рыжий Тигра написал:
[...] Ясно ж нарисованы формулы для расчёта [...] - а всё равно игнорируют.

Спасибо, Тигрик за замечательное запутывание вопроса. :)
[...]
В покетбуке видно плохо, не все линии
Нууу... короче, это, как говорят сантехники, не в твоей зоне ответственности. :-) Просто найди способ взять разработчиков вьюера за воротник и ткнуть носом дважды - в криво показываемые картинки и в меня. :-) А я уже их убедю сделать по-человечески - в особо крайнем случае сделаю сам. ОК?
Tanja45 написал:
ребенкина 600-я сонька их же показывает замечательно в e-pub. Вес картинок при конвертации из fb2 в e-pub не изменился.
Ага. epub получен у нас путём "скачать epub"? Знаю я разработчика конвертера - он просто выдирает картинки из .fb2, ни байта в них не изменяя.
Tanja45 написал:
Пример таких картинок в книжке http://lib.rus.ec/b/215905
Ага. Это уже не палитровые, а честные GA (серый+альфа). Вьюер от Sony их показывает ОК - по крайней мере Лорд это подтверждает.
Tanja45 написал:
А может, покетбука эта и нормальные картинки тоже портит, а?
А я знаю? У моих друзей ни одной покет-буки нету - только LBook'и, киндлы и Nook'и. :-(

Рыжий Тигра написал:
Просто найди способ взять разработчиков вьюера за воротник и ткнуть носом дважды - в криво показываемые картинки и в меня. :-) А я уже их убедю сделать по-человечески - в особо крайнем случае сделаю сам. ОК?
:D Неа, не ОК. Воротник разработчика территориально к тебе ближе. Тебе легче до него дотянуться. :)
Рыжий Тигра написал:
Tanja45 написал:
ребенкина 600-я сонька их же показывает замечательно в e-pub. Вес картинок при конвертации из fb2 в e-pub не изменился.
Ага. epub получен у нас путём "скачать epub"? Знаю я разработчика конвертера - он просто выдирает картинки из .fb2, ни байта в них не изменяя.
Нет, конечно. Там-то само собой разумеется, что картинки такие же. Я конвертирую Кайроновским - потому и решила проверить на всякий случай неизменение картинок.
Рыжий Тигра написал:
Tanja45 написал:
Пример таких картинок в книжке http://lib.rus.ec/b/215905
Ага. Это уже не палитровые, а честные GA (серый+альфа). Вьюер от Sony их показывает ОК - по крайней мере Лорд это подтверждает.
Эта... GA которая... она не труколор? Не png-32? Она GA какая-то еще? А Fireworks говорит, что она png-32... И IE их показывает. Но соньковский формат (Ilf вроде бы, или как-то так) их не понимает.
Рыжий Тигра написал:
А я знаю? У моих друзей ни одной покет-буки нету - только LBook'и, киндлы и Nook'и. :-(
О! Вот проверь их и на таких читалках, пожалуйста.

Tanja45 написал:
Рыжий Тигра написал:
найди способ взять разработчиков вьюера за воротник и ткнуть носом дважды - в криво показываемые картинки и в меня. :-)
Воротник разработчика территориально к тебе ближе. Тебе легче до него дотянуться. :)
"Имя, сестrа, имя!" (L) Или найди форум или иной сайт, где они толкутся, и нагрянем вместе - будешь размахивать вещдоками - сканами с машинки, а я тем временем их это... шантажировать. :-)
Tanja45 написал:
Рыжий Тигра написал:
не палитровые, а честные GA (серый+альфа).
Эта... GA которая... она не труколор? Не png-32? Она GA какая-то еще?А Fireworks говорит, что она png-32...
Фейерверка не знаю, что он там говорит.
32-битных PNG не бывает. Бывает только по 1, 2, 4, 8 и 16 бит на канал; PNG бывают палитровые (один канал, значения - номера цветов из палитры), G (один канал ч/б, т.е. серый - gray) и RGB (три канала цветных - red-green-blue); плюс у цветных и чёрно-белых может быть дополнительный A-канал (альфа, т.е. прозрачность).
Палитровые могут иметь 1, 2, 4 и 8 бит на канал - соответственно, объём палитры 2, 4, 16 и 256 записей (каждая запись - это три 8-битных цвета плюс может быть 8-битная прозрачность; хохма в том, что прозрачность для записи в палитре хранится не в самой палитре, а отдельно - так что криво написанные программы могут эту самую прозрачность попросту игнорировать).
Ч/б PNG без альфа-канала могут иметь любую разрядность: от 1 (собственно, только чёрный и белый) до 16 бит (используются в медицине, астрономии и ещё в чём-то высокоточном).
Больше одного канала (т.е. серый с альфой или RGB с альфой или без) может быть только у 8- и 16-битных PNG, причём все каналы должны быть одинаковой ширины.
Таким образом, максимальная разрядность пиксела - у 16-битного RGBA, это 64 бита. А выражение "32-битный" - чисто рекламно-маркетинговое, как "32-битный звук": каналов такой ширины не бывает, а если это общая разрядность пиксела - то это двусмысленность, это может быть и 16-битный серый с альфой, и 8-битный RGB с альфой. Т.о., когда тебе говорят про "32-битный PNG" - имей в виду: тебя нажуливают, "плюнь этому человеку в глаза, назови лжецом и выгони пинками из дома" ((L) Х. Насреддин). :-)
А для точно выяснить тип PNG, количество каналов, наличие альфа-канала, палитры и прочего - есть утилька под названием tweakpng. Весьма рекомендую.
Tanja45 написал:
И IE их показывает.
Имеешь в виду IE5.5 или IE6, у которых по жизни были проблемы с палитровой прозрачностью, а с честным альфа-каналом проблем вроде бы не было?
Tanja45 написал:
Но соньковский формат (Ilf вроде бы, или как-то так) их не понимает.
Это тоже не ко мне: кто купил "буку" у Sony - тот пусть с ними и разбирается. У меня к ним доступа нету. :-(
Tanja45 написал:
Рыжий Тигра написал:
У моих друзей [...] киндлы и Nook'и. :-(
О! Вот проверь их и на таких читалках, пожалуйста.
Проверю. Проблема в том, что они с собой "буки" на работу не таскают - дома держат, так что процесс несколько затянется. :-(

Tanja45 написал:
Рыжий Тигра написал:
найди способ взять разработчиков вьюера за воротник и ткнуть носом дважды - в криво показываемые картинки и в меня
Воротник разработчика территориально к тебе ближе. Тебе легче до него дотянуться. :)
Ткнул (http://www.the-ebook.org/forum/viewtopic.php?p=501752#501752) вчера - пока никто не отзывается. :-(

Отозвался кто-то. Некий JAW даже полиграфию зачем-то приплел. Картинки с прозрачным фоном в эл. верстке используются довольно часто. Но Покет в плане отображения иллюстраций, любых - не только png, но и jpg - весьма проигрывает и l-book-e и 600-й Sony: читалка Покета портит все иллюстрации. :(

To Рыжий Тигра. Простите что встреваю, но я так понял надо что-то проверить на Покетбуке... (всю ветку не осилил). Имею доступ к Pocketbook 301+, могу помочь?

BigPooh написал:
надо что-то проверить на Покетбуке [...] могу помочь?
Ага. Надо посмотреть, как выглядят иллюстрации вот в этих книгах: "Сироты квартала Бельвилль" и "Половина собаки". Если будет что-то интереснее "чёрного квадрата" - хотелось бы глянуть на фотку или, ещё лучше, 600-dpi'йный скан.

Сделал. Не чёрный квадрат, но... "душераздирающее зрелище". Сканы можно взять здесь.

http://www.the-ebook.org/forum/viewtopic.php?p=502977#502977 - выложена ссылка на FBReader для покетбука, вроде бы правильно обсчитывающий прозрачность. Прошу тестировать, а если не так - дожимать покет-буковцев обещаниями вернуть девайс назад и на сэкономленные деньги купить, к примеру, LBook V3+ - в CoolReader'е прозрачность давно не проблема. :-)

Переделка проги пошла не в ту сторону и упёрлась в тупик. :-( Один из последних боеспособных вариантов - здесь: http://sourceforge.net/projects/limpng/files/limpng-1.1/limpng-1.1.7z/download
Из серьёзных добавлений - работа с масками и сглаживание.
-c - вывод "контурной карты";
-a (вместе с -c) - вывод альфа-канала в синий слой контурной карты;
-o - опрозрачнивание картинки по маске (маска для каждого входного <file>.png берётся из синего слоя файла <file>-mask.png, 0 соответствует полностью прозрачному, 255 - полностью непрозрачному);
-b - получение однобитных ч/б картинок;
-m - типа сглаживание (для однобитных ч/б картинок): если у пиксела меньше соседей такого же цвета (в квадрате 9*9), чем заданный порог, - пиксел перекрашивается в противоположный цвет. Функция ИМХО ни на что серьёзное не пригодна.

Рыжий Тигра написал:
Переделка проги пошла не в ту сторону и упёрлась в тупик. :-( Один из последних боеспособных вариантов - здесь: http://sourceforge.net/projects/limpng/files/limpng-1.1/limpng-1.1.7z/download
Из серьёзных добавлений - работа с масками и сглаживание.
-c - вывод "контурной карты";
-a (вместе с -c) - вывод альфа-канала в синий слой контурной карты;
-o - опрозрачнивание картинки по маске (маска для каждого входного <file>.png берётся из синего слоя файла <file>-mask.png, 0 соответствует полностью прозрачному, 255 - полностью непрозрачному);
А поподробнее? Что, зачем и что из чего можно сделать - на пальцах и человеческим голосом (да, я знаю, тебе это трудно, но надо :)))))
Рыжий Тигра написал:
-b - получение однобитных ч/б картинок;
-m - типа сглаживание (для однобитных ч/б картинок): если у пиксела меньше соседей такого же цвета (в квадрате 9*9), чем заданный порог, - пиксел перекрашивается в противоположный цвет. Функция ИМХО ни на что серьёзное не пригодна.
Это просто, быстро и под постоянным визуальным контролем можно сделать и в Фотошопе - я делаю в нем, по крайней мере.

Tanja45 написал:
Это просто, быстро и под постоянным визуальным контролем можно сделать и в Фотошопе - я делаю в нем, по крайней мере.
Я знаю. Но обработка картинки размером этак три с половиной на пять - пять на восемь тыщ пикселов, на машине с полгигом ОЗУ... представляешь, да? :-( Мой получается шустрее в раз в 30.
Tanja45 написал:
Рыжий Тигра написал:
-c - вывод "контурной карты";
-a (вместе с -c) - вывод альфа-канала в синий слой контурной карты;
-o - опрозрачнивание картинки по маске (маска для каждого входного <file>.png берётся из синего слоя файла <file>-mask.png, 0 соответствует полностью прозрачному, 255 - полностью непрозрачному);
А поподробнее? Что, зачем и что из чего можно сделать - на пальцах и человеческим голосом

Ну например, есть у тебя картинка:

А хотца сделать её не просто прозрачной,

а с выпендрёжем. Делаешь с неё контурную карту (limpng -c ho02_0013f-025.png)

потом в любом привычном графическом редакторе фигурно заштриховываешь/заливаешь чёрным (или жёлтым, без разницы) непрозрачную область

переименовываешь в ho02_0013f-025-mask.png и присобачиваешь к исходной картинке (limpng -o -t 255 ho02_0013f-025.png).
Результат (хорошо рассматривать на насыщенном цветном фоне):

Ну и, ясен перец, не в последнюю очередь надо думать о размере файла: кол-во цветов (вернее, пар цвет-прозрачность) готовой картинки будет немаленьким - аж до произведения кол-ва цветов исходной картинки на кол-во уровней маски. Поэтому исходную картинку я приводил к 32 цветам, маску ограничивал пятью уровнями прозрачности (обычно по самые уши хватает; если сделать всего два - будут резать глаз "блестящие" каёмочки вокруг прозрачных/непрозрачных областей), в итоговой картинке получилось 112 "цветов", из них 87 прозрачных, и размер подрос по сравнению с оригиналом на фигню - с 40 до 45 кил.
На самом деле - маску я делал однобитную из картинки в оригинальном разрешении, без контурной карты:

а потом обе по отдельности ресайзил и прореживал уровни. Но для проиллюстрировать идею удобнее таки малый размер и контурная карта.
Да, кстати, забыл - есть ещё два ключика:
-f: быстрый вывод результирующего .png - полезно, если картинка в много мегапикселов, а нужна только как промежуточный материал и/или потом будет чем-то пережиматься/конвертироваться;
-w: в конце работы переспрашивает "press any key..." - удобно при запуске не с консоли, а с ярлычка или "Пуск - Выполнить".

Ну если такая ОЗУ - тогда, конечно, нужны мелкие утилитки и как можно менее требовательные, и без толстых дизайнов с наворотами и графикой. Просто я и не думала, что сейчас бывает такая маленькая. Тогда тебе очень сложно с подбором программ для всего, видимо.
Про новые возможности более-менее ясно. Спасибо.
(рыдаид) Но вот не ясно мне опять, вот как бы сделать маску для той части картинки, которую limpng вообще увидит и будет обрабатывать... или напротив - не увидит и не будет трогать эту область ни чуточки (уже имеющуюся прозрачность в исходной). Хо-о-очу-у-у та-а-а-ко-о-ой li-i-i-i-impng! (противно ревёт и хлюпает носом)

Tanja45 написал:
Ну если такая ОЗУ - тогда, конечно, нужны мелкие утилитки {...} Тогда тебе очень сложно с подбором программ для всего, видимо.
Ха! "Пациент, вы страдаете извращениями? - Что вы, доктор, я ими наслаждаюсь!" (L)
Программы "для всего", как правило, есть в линуксных пакетах. Остаётся фигня - перекомпилировать под "форточки". Поскольку они обычно консольные, то неразрешимых проблем ни с перекомпиляцией, ни с использованием не бывает.
Кроме того, лабать прогу с GUI под свою идею - долго (интерфейс делать куда геморройнее, чем собственно обсчитывательную часть), а ждать, пока эта же идея посетит корел или адобу и они решат, что такая функциональность будет иметь коммерческий успех, можно до морковкина заговенья. :-(
Tanja45 написал:
Хо-о-очу-у-у та-а-а-ко-о-ой li-i-i-i-impng! (противно ревёт и хлюпает носом)
Т.е. надо для каждого пиксела поделить его видимую яркость на значение альфа-канала (а его можно извлечь в синем слое контурной карты ключами "-a -c") и привести к диапазону (0, 255) - получится собственно маска. На самом деле куда горбатее - там есть неоднозначность, т.е. маска получится не гладкой, а из большой кучи разных значений... Короче, я запутался с этой арифметикой и отложил... :-(

Для Tanja45 (начало в http://lib.rus.ec/node/354892): ладно, уговорила - померяемся сжималками. :-)
Картинки в RGBA с уже прореженной цветухой, специально для проверки разных алгоритмов обжатия:

Размеры - соответственно 103013, 129531, 41219, 14054, 205236, 43735 байт.
Они же, уже обжатые по самые помидоры (но с чанками - pHYs (разрешение) и liMP (служебный для limpng), итого 50 с чем-то байт в каждой картинке):

Размеры: 75543, 91584, 30206, 9616, 152681, 32852 байта.

Нет, это не годится, я хотела бы с непрореженными цветами и не прозрачные в качестве исходных, если возможно. Иначе недостоверно - речь не только о конечном сжатии. Ты мне - полноцветные, я тебе - итог, ладно?

Tanja45 написал:
я хотела бы с непрореженными цветами и не прозрачные в качестве исходных, если возможно.
Могу, но графики сырой у меня нет - есть только карандаш. Лови:

Но какую до скольки цветов прореживать - разно бывает, надо смотреть. Обычно от 20 до 50.

Угу. Пасипа. Счасс посмотрю, только стрескаю чё-нить ужинное.

UPD Вот что я скажу тебе, дорогой мой любимый Тигра! Сравниваем мы с тобой кислое с горячим. То, что вышло у меня заметно легче твоего, но в некоторых областях - светлых со слабым переходом полутонов (особенно заметно на первом и четвертом рисунках) - выглядит хуже. Но зато заметно легче. Но хуже. Но приемлемо. Лабароторно я получившиеся картинки не препарировала, и лень мне, устала, да и не умею я. Такштааа... чисто визуальная оценка. Воть: Но (существенное), помня о том, что картинки эти все-таки для книшкофф, а не просто так себе картинки, загоняем мы их посредством FBE в пробный fb2: http://www.onlinedisk.ru/file/762674/ И что же мы там наблюдаем? А наблюдаем мы вот что: твои картинки редкая читалка прочитает, бо палитровые они, что некошерно. И конвертируем мы полученный fb2 Кайроновско-Лордским конвертером в пригожий и востребованный формат e-pub, и вот уже твои картинки заметно распухают: А мои картинки остаются, как были, не толстеют. А вот ежели твою пожатую картинку обработать до состояния моих CQ-ом, то вес ее увеличится незначительно, зато и видно ее, и при конвертации в e-pub она не потеряется и не распухнет: Предварительный вывод: либо мне следует делать как я делала и раньше, либо, если большой вес не пугает, доделывать сделанные по-твоему CQ-ом по-моему. ИМХО на данный момент. Контраргументы воспринимаю.

P.S. А вторая твоя картинка не опрозрачнена. И видно что ты над ними над всеми измывался посредством своей новобретенной синей маски. :)))

Цитата:
P.S. А вторая твоя картинка не опрозрачнена. И видно что ты над ними над всеми измывался посредством своей новобретенной синей маски. :)))

Это синее изобретение уже давно изобретено и прикручено в виде эффекта даже к вьюверам. Называется "обнаружение краев" (edge detection).

N. N. написал:
Цитата:
ты над ними над всеми измывался посредством своей новобретенной синей маски. :)))
Называется "обнаружение краев" (edge detection).
В лужу. Оператор Лапласа я использовал для подготовки контурной карты. А "синяя маска" - это способ задания прозрачных/непрозрачных областей на картинке:

В лужу, так в лужу - разве я могу вам запретить? :)

Tanja45 написал:
То, что вышло у меня заметно легче твоего, но в некоторых областях - светлых со слабым переходом полутонов (особенно заметно на первом и четвертом рисунках) - выглядит хуже. Но зато заметно легче. Но хуже. Но приемлемо.

Угу. !6 цветов (таки маловато - что да, то да), GA, чёткие следы работы PNGOUT'а (напрочь удалены все чанки, в т.ч. и никому не мешавший PHYS - с данными о разрешении).
Tanja45 написал:
загоняем мы их посредством FBE в пробный fb2: http://www.onlinedisk.ru/file/762674/
Угу. 13 картинок - шесть моих 32- или 40-цветных, "подписанных" limpng'ом, и 7 твоих.
Tanja45 написал:
А наблюдаем мы вот что: твои картинки редкая читалка прочитает, бо палитровые они, что некошерно.
Ибо читалка - нестандарт. А нестандарт - это брак. :-( Бей изготовителей читалок по голове - может, кто-то таки наконец отелится и сделает по-человечески. Все, до кого я дотянулся, уже давно сделали.
Кстати, а где ты находишь бракованные читалки? Все аппаратные и программные, которые были в моих руках, воспроизводят палитрово-прозрачные картинки правильно. (Кстати, я тоже великий писатель: :-))))))))))) как раз год назад создал книгу http://lib.rus.ec/b/232271 специально для тестирования читалок.)
Tanja45 написал:
конвертируем мы полученный fb2 Кайроновско-Лордским конвертером {...} и вот уже твои картинки заметно распухают:

Ага, вижу. Лорда тоже бей по голове - он преобразовал в RGBA (то, что ты называешь png32) и вдобавок сжал не с максимальной плотностью - простое пересохранение картинки FSIV'ом без каких-либо преобразований уменьшило размер файла со 134 до 101 килобайта.
Tanja45 написал:
Предварительный вывод: либо мне следует делать как я делала и раньше, либо, если большой вес не пугает, доделывать сделанные по-твоему CQ-ом по-моему. {...} Контраргументы воспринимаю.
Трудно сказать... Очень не хотца, чтобы после меня картинки кто-то прореживал, я и так убираю цветуху по самые уши. Может, лучше всё-таки побьёшь по головам бракоделов?
Tanja45 написал:
А вторая твоя картинка не опрозрачнена. И видно что ты над ними над всеми измывался посредством своей новобретенной синей маски. :)))
Ага. Я специально подсунул все три варианта - непрозрачный, прозрачный и частично прозрачный.

Рыжий Тигра написал:
..... GA, чёткие следы работы PNGOUT'а (напрочь удалены все чанки, в т.ч. и никому не мешавший PHYS - с данными о разрешении)....
Значит и другие проги удаляют твои чанки - либо Fireworks 8 либо сам CQ. А тебе удалось найти читалку, где возникли бы проблемы из-за удаления этих самых... которые чанки?
[
Рыжий Тигра написал:
Ибо читалка - нестандарт. А нестандарт - это брак. :-( Бей изготовителей читалок по голове - может, кто-то таки наконец отелится и сделает по-человечески. Все, до кого я дотянулся, уже давно сделали... ...Кстати, а где ты находишь бракованные читалки? Все аппаратные и программные, которые были в моих руках, воспроизводят палитрово-прозрачные картинки правильно...
...Ага, вижу. Лорда тоже бей по голове - он преобразовал в RGBA (то, что ты называешь png32) и вдобавок сжал не с максимальной плотностью - простое пересохранение картинки FSIV'ом без каких-либо преобразований уменьшило размер файла со 134 до 101 килобайта.
...Очень не хотца, чтобы после меня картинки кто-то прореживал, я и так убираю цветуху по самые уши. Может, лучше всё-таки побьёшь по головам бракоделов?
Зачем мне что-то прореживать после тебя? Я после себя прорежу.:)) Если ты вспомнишь, то мы с тобой еще давно на Флибусте выясняли, какие бывают бяки из-за альфа-прозрачности. И там выяснилось, что в формате e-pub палитровая прозрачность вылетает из отображения. Поэтому Кайрон свой конвертер переделал, а Флибустовский на сайте переделали ли я не знаю, но тогда в скачанных с сайта e-pub-ах картинки не показывались. А так - GA - все оставалось видно. Мы же вместе тогда проверяли, помнишь? Я потому их и стала делать.

И нет, Тигра, я не могу никого бить по голове еще и после работы. У меня уже сил не хватает, ни физических, ни душевных. Дома надо немедленно менять натуру на белость и пушистость. А то мне дочка опять скажет, что я с ними не разговариваю, а раздаю указания. :((

И если будет настроение, дотянись еще до http://www.ice-graphics.com/ICEReader/IndexR.html. ICEReader - очень симпатичная прога - скромный каталогизатор +читалка. Каталогизатор очень удобный (хотя и скромный) и тексты она кажет великолепно (особенно это заметно при проблемном зрении). Сейчас они сделали показ в читалке картинок (раньше не было), ссылки и стили. Но о-о-очень криво - прозрачные обычные показывает на сером фоне, любая альфа - черныйе квадраты, обычные япеги - вылинявшие. И, похоже, разработчик не понимает почему же это криво. Иногда мне кажется, что разработчики считают, что люди будут брать книги не в библиотеках, а некто таинственный станет верстать вот специально именно под их читалку. Если будешь в настроении их воспитать, то можно добраться до разработчика на их форуме:http://www.ice-graphics.com/forumr/viewforum.php?f=4&sid=62bb8dd90f553637c6012967c2550b0a

Tanja45 написал:
Рыжий Тигра написал:
напрочь удалены все чанки, в т.ч. и никому не мешавший PHYS - с данными о разрешении)
тебе удалось найти читалку, где возникли бы проблемы из-за удаления этих самых... которые чанки?
Угу. Acrobat при добавлении/замене картинки в .pdf внимательно смотрит на разрешение и растягивает/сплющивает картинку на странице как раз по нему. :-(
Tanja45 написал:
Рыжий Тигра написал:
Ибо читалка - нестандарт. А нестандарт - это брак. :-(
выяснилось, что в формате e-pub палитровая прозрачность вылетает из отображения.
Ага, помню - epub-вьюер использовал патентованный декодер картинок от, кажется, адобы, а его двоечники писали, которые не умеют правильно декодировать палитру. И что - до сих пор не исправили?
Tanja45 написал:
И нет, Тигра, я не могу никого бить по голове еще и после работы.
Нууу, не знаю... подсунь им мою книгу... припугни, что вернёшь читалку и потребуешь деньги назад... или ещё как... :-?
Tanja45 написал:
ICEReader {...} прозрачные обычные показывает на сером фоне, любая альфа - черныйе квадраты, обычные япеги - вылинявшие. И, похоже, разработчик не понимает почему же это криво. {...} форуме:http://www.ice-graphics.com/forumr/viewforum.php?f=4&sid=62bb8dd90f553637c6012967c2550b0a

Э... не обещаю, что это будет скоро, но посмотрю. Я сам юзал айс-ридер лет шесть назад, когда мой комп был ещё новенький, - симпотная была софтина.

Рыжий Тигра написал:
Tanja45 написал:
Рыжий Тигра написал:
напрочь удалены все чанки, в т.ч. и никому не мешавший PHYS - с данными о разрешении)
тебе удалось найти читалку, где возникли бы проблемы из-за удаления этих самых... которые чанки?
Угу. Acrobat при добавлении/замене картинки в .pdf внимательно смотрит на разрешение и растягивает/сплющивает картинку на странице как раз по нему. :-(
Да ну тебя, Тигрище, это ты уже лукавство лукавишь, при добавлении/замене картинки в .pdf это уже редактирование, а не чтение, и Акробат не видит при этом и твоих картинок тоже (черные квадраты), несмотря на обилие всяких-разных чанков. А сконверченный из моего файла pdf Акробат замечательно и читает масштабирует при просмотре.
Рыжий Тигра написал:
Ибо читалка - нестандарт. А нестандарт - это брак. :-(......
...epub-вьюер использовал патентованный декодер картинок от, кажется, адобы, а его двоечники писали, которые не умеют правильно декодировать палитру. И что - до сих пор не исправили?...
... подсунь им мою книгу... припугни, что вернёшь читалку и потребуешь деньги назад... или ещё как... :-?

То есть ты предлагаешь вместо того чтобы верстальщикам делать иллюстрации в GA, а не в палитре, все владельцы Sony и прочих читалок, читающих в epub, вернули их производителям, предварительно устрашив оных производителей твоей книжкой? О, какая свежая и привлекательная идея! "Чёрт с ней - с головой, но на это стоит посмотреть!"© Ты молодец, Тигра! :D

Tanja45 написал:
ты предлагаешь {...} все владельцы Sony и прочих читалок, читающих в epub, вернули их производителям,
Ну извини - не хочешь возвращать бракованный софт, скоро придётся не хотеть возвращать бракованные телевизор и холодильник... :-(
Tanja45 написал:
предварительно устрашив оных производителей твоей книжкой?
Не книжкой. Стандартом.
Впрочем, up to you.
(и умыл руки)

Tanja45 написал:

Кстати, для выкладки картинок пользуюсь не веб-интерфейсом радикала, а программкой под названием Image Uploader - штучка удобная, не гадит в правит картинки, сама генерирует превьюшки и, главное, возвращает линки не на набитые по самое не могу рекламой страницы с картинками, а на картинки как таковые. Весьма рекомендую!
Tanja45 написал:
только стрескаю чё-нить ужинное.
Кстати, это идея. Воспоследую. :-)

Попалась мне одна классная повестушка. Бракоделам из адобы, мелкософта и прочей проприетарщины, неспособным прочитать и реализовать стандарт формата PNG, посвящается сей фрагмент:

Цитата:
[...] Очень грубая аналогия - есть социум, где никто не вытирает жопу. Просто не думает над проблемой. Так и ходят. Должны ли мы, оказавшись среди этих говнюков, немедленно им уподобиться? Я думаю - нет. Должны ли насильно им вытирать зады? Думаю - тоже нет. Да и не хочется, если честно... Но, если кто-то из местных попробует навязать нам местную норму поведения - он однозначно получит в торец. И если примется бухтеть, что ходить чистым, когда все в дерьме, это не законно, не культурно и не толерантно, - он тоже получит в торец. С рекомендацией, как использовать свой закон, по прямому назначению. Пока его не свернули в трубочку и не забили в спорный орган сапогом. Что бы бумага даром не пропадала...
Почему? Потому, что за своё право ходить с вытертой задницей, я готов драться насмерть, а "засранцы по жизни", на такой же подвиг физически не способны. Отчего бродят так. Означенная готовность и дает мне право жить среди них, как считаю правильным... соблазняя личным примером. Это - максимум, что можно предложить описанному "обществу засранцев", на первом этапе контакта. Всё время маячить перед глазами - "А можно жить и чисто". Завидуйте! И немедленно давать сдачи, при поползновении принудить нас "быть как все".

Где-то так.

Из http://lib.rus.ec/node/369159?page=page=3#comment-254647 :

Tanja45 написал:
Проверила тигриную картинку - тоже получился чёрный фон. И как ему это удается? У меня все получается на прозрачном фоне и в Haali. Ну мы с ним по-разному альфа-прозрачность делаем: я в GA - чтобы видно везде, вес был поменьше и в епаб конвертилось без увеличения веса, а Тигра на своем лимптинге в труколоре, вроде, делает.
Не-а. В палитровом исполнении.
Хохма в том, что GA меньше 16 бит на пиксел не сделаешь - 8 на серый и 8 на альфу. А палитровые - это от 1, 2, 4 или 8 бит/пиксел (соответственно - две комбинации цвет+прозрачность, 4, 16 или 256). Что само по себе даёт выигрыш в размере .png-файла даже 8-битного на четверть тире треть по сравнению с 16-битным GA. А если ещё и ограничиться семью (как я обычно делаю для штриховых рисунков) уровнями яркости-прозрачности - то и ещё в полтора раза. Итого - худо-бедно вдвое.
А все беды киндлей и епабов с такими картинками - от неграмотности и леворукости разработчиков его картинкопросматривательного софта, поленившихся до конца дочитать описание формата. :-(((((

Рыжий Тигра написал:
Из http://lib.rus.ec/node/369159?page=page=3#comment-254647 :
Tanja45 написал:
Проверила тигриную картинку - тоже получился чёрный фон. И как ему это удается? У меня все получается на прозрачном фоне и в Haali. Ну мы с ним по-разному альфа-прозрачность делаем: я в GA - чтобы видно везде, вес был поменьше и в епаб конвертилось без увеличения веса, а Тигра на своем лимптинге в труколоре, вроде, делает.
Не-а. В палитровом исполнении.
Хохма в том, что GA меньше 16 бит на пиксел не сделаешь - 8 на серый и 8 на альфу. А палитровые - это от 1, 2, 4 или 8 бит/пиксел (соответственно - две комбинации цвет+прозрачность, 4, 16 или 256). Что само по себе даёт выигрыш в размере .png-файла даже 8-битного на четверть тире треть по сравнению с 16-битным GA. А если ещё и ограничиться семью (как я обычно делаю для штриховых рисунков) уровнями яркости-прозрачности - то и ещё в полтора раза. Итого - худо-бедно вдвое.
А все беды киндлей и епабов с такими картинками - от неграмотности и леворукости разработчиков его картинкопросматривательного софта, поленившихся до конца дочитать описание формата. :-(((((

(изумляеццо) А почему тогда твои картинки все равно тяжельше моих получаются, раз GA так много битов жреть на пиксель? Потому что так надо? Для совершенства?)))
И мне киндлей с епабами не жалко, у них пускай беды. Мне читателей жалко. Которые с киндлей в епабах читают.

Tanja45 написал:
А почему тогда твои картинки все равно тяжельше моих получаются, {...}
Э... напомни, плиз, какие именно?
Tanja45 написал:
Для совершенства?)))
М.б. и так - обычно при прореживании цветов оставляю трошки больше, чем когда при трёхкратном увеличении разница с оригиналом незаметна.
Tanja45 написал:
Мне читателей жалко. Которые с киндлей в епабах читают.
Хм. А не было бы более конструктивным подсказать им, чтобы вернули это барахло обратно в магазины и купили более-менее человеческий, к примеру, LBook? Оно конешно - киндля дешевле, ну так "дешева рибка - паршива юшка" (L) народна мудрість :-((((

Рыжий Тигра написал:
Tanja45 написал:
А почему тогда твои картинки все равно тяжельше моих получаются, {...}
Э... напомни, плиз, какие именно?
Любые.

Tanja45 написал:
Любые.
Ха! Попробуй вот эти http://lib.rus.ec/node/277231#comment-171939 - если с какой картинки выжмешь хоть байт (разумеется, не за счёт прореживания цветов и/или удаления чанков "pHYs" и "liMP"), то так и быть - возьму на вооружение твою технологию.

Рыжий Тигра написал:
Tanja45 написал:
Любые.
Ха! Попробуй вот эти http://lib.rus.ec/node/277231#comment-171939 - если с какой картинки выжмешь хоть байт (разумеется, не за счёт прореживания цветов и/или удаления чанков "pHYs" и "liMP"), то так и быть - возьму на вооружение твою технологию.

О добрый и милостивый Тигра! :D Мы же это все обсудили уже с тобой: и про прореживание и про чанки и про палитировые альфа-прозрачные пинги. Именно на примере этих картинок. И ты умыл руки... или почистил зубы, я уже не помню.

Ё-пс, сорри, таки провтыкал и запамятовал - было такое. :-( И я таки действительно пошёл ужинать. :-)

Страницы

X