[identity profile] pesec.livejournal.com posting in [community profile] useless_faq
Каков минимальный размер корректного графического файла одного из общепринятых web-стандартов (GIF,JPEG,PNG), содержащего единственную чёрную точку (изображение 1x1)?

У меня пулучилось 35 байтов для GIF. А для не-сетевого формата (PNM) — 12 байтов.

Про термин «webbugs» я знаю. Мне [для души!] нужен собственно размер минимального, а не примеры. Просьба не отсылать на Google без эффективных ключевых слов.

Date: 2005-06-14 03:46 am (UTC)
From: [identity profile] ex-ex-svin4.livejournal.com
А у меня получилось вот что (corel pp11):

JPG - 630b
GIF - 43b
PNG - 111b

:(

Date: 2005-06-14 03:52 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
Нее, через корел такие вещи рисовать - дохлый номер. Мало ли, чего он там понапихает в заголовок. Надо бы ручками, имея при себе спецификацию формата.

Date: 2005-06-14 03:58 am (UTC)
From: [identity profile] ex-ex-10chi.livejournal.com
Фотошоп тоже вагон всего пихает.

Date: 2005-06-14 04:06 am (UTC)
From: [identity profile] -fallingfree-.livejournal.com
GIF 807 байт (!) от MS Paint.
Фотошоп и Корел нервно курят в сторонке.

Date: 2005-06-14 04:11 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
MS GIF Animator - размер анимированной черной точки ничем не огрничен ;)

Date: 2005-06-14 04:19 am (UTC)
From: [identity profile] -fallingfree-.livejournal.com
Чорт! И впрямь.

Date: 2005-06-14 05:45 am (UTC)
From: [identity profile] ex-ex-svin4.livejournal.com
Как это? Там можно размер выставить? :)

Date: 2005-06-14 05:46 am (UTC)
From: [identity profile] -fallingfree-.livejournal.com
Там можно создать очень много кадров с черной точкой.
Очень, очень много кадров.

Date: 2005-06-14 05:50 am (UTC)
From: [identity profile] ex-ex-svin4.livejournal.com
(задумчиво) Очень, очень, очень много кадров.... Хорошоооо....

Date: 2005-06-14 03:57 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
В заголовке GIF с одной картинкой и без палитры вроде бы байт 25. Правда, не знаю, как там с выравниванием, но, может, можно выжать и меньше 35 байт.

Date: 2005-06-14 04:01 am (UTC)
From: [identity profile] yashunsky.livejournal.com
Через фотошоп сохранил в *.raw файл - получилось 3 байта. Вот только при сохранении он предупредил, что часть изображения может потеряться.. вобщем, этот один пиксель и потерялся :))

Date: 2005-06-14 04:16 am (UTC)
From: [identity profile] yashunsky.livejournal.com
это скорее был ответ на
>А для не-сетевого формата (PNM) — 12 байтов.

Date: 2005-06-14 04:02 am (UTC)
From: [identity profile] builtforcomfort.livejournal.com
Вас какая черная точка интересует? Монохромная? Или цветная? Если цветная, то какой разрядности?

Date: 2005-06-14 04:37 am (UTC)
From: [identity profile] builtforcomfort.livejournal.com
для wbmp - 5 байтов

Re: WAP image

Date: 2005-06-14 05:03 am (UTC)
From: [identity profile] builtforcomfort.livejournal.com
Тут надо понимать, что если изображение хранится в каком-то формате, сам формат накладывает непреодолимые ограничения на минимальный размер. Вероятно, руками можно по формату сделать размер, минимальный для данного формата.
Кстати off небольшой. Вы как-то превретно понимаете смысл proprietary format. То, что какой-то формат не является распространенным, это не делает его проприетарным. И наоборот - широкое распространение формата не гарантирует того, что формат открытый.

Re: WAP image

Date: 2005-06-14 05:50 am (UTC)
From: [identity profile] builtforcomfort.livejournal.com
Ммммм... Теоретический минимальный размер для одноточечной монохромной картинки - 1 бит. :)
Только надо принмать во внимание еще вот что: минимальную длину сетевого пакета, минимальную длину кластера на диске и т.п. вещи.

Re: WAP image

Date: 2005-06-14 06:06 am (UTC)
From: [identity profile] builtforcomfort.livejournal.com
Читайте внимательнее - "теоретический минимальный размер". :) Без учета суровых реалий конкретной аппаратно-программной среды то есть.

Date: 2005-06-14 04:07 am (UTC)
From: [identity profile] -pk-sly.livejournal.com
картинка из одной ПРОЗРАЧНОЙ точки, сохреннённая "для веб" получается 43 байта.

невидимый счётчик мастерим? :)

Date: 2005-06-14 04:49 am (UTC)
From: [identity profile] lux-in-tenebris.livejournal.com
а нахрена вам счОтчик из чОрной точки? %)

Date: 2005-06-14 05:56 am (UTC)
From: [identity profile] lux-in-tenebris.livejournal.com
наощупь! ;))
целиться в конкретный пиксель тоже не сладость..

нда

Date: 2005-06-14 04:43 am (UTC)
From: [identity profile] ex-ch-cat325.livejournal.com
у меня тоже gif 35 байт.
правда wbmp (Общепринятый стандарт для WAP сайтов) - 5 байт :)

оппа!

Date: 2005-06-14 04:47 am (UTC)
From: [identity profile] ex-ch-cat325.livejournal.com
Фигня :)
Оптимизировал gif до 32 байт. :)
Кто меньше?

Re: оппа!

Date: 2005-06-14 05:56 am (UTC)
From: [identity profile] ex-ch-cat325.livejournal.com
Извиняюсь, 33 байта.
32 - ненадёжно.
просто убираешь с конца два байта и всё :)
Image

Re: оппа!

Date: 2005-06-14 08:48 am (UTC)
From: [identity profile] ex-ch-cat325.livejournal.com
Ну лан, я тут покапался.
Что мы имеем.
формат gif:
Идентификатор GIF
Дескриптор экрана
Глобальная таблица цветов
. . . . . .
Дескирптор изображения
Локальная таблица цветов
Растровые данные
. . . . . .
Терминатор GIF

Я убирал терминатор . собственно, то что браузер читает потоком и сыграло роль - терминатора нет, файл закончен, покажем хотя бы что скачалось.
Но в теории, конечно, бразуер мог бы вякнуть про то что формат файла корявый.

Смотрим 35-байтовый гиф:

47 49 46 38 37 61 - идентификатор (GIF87a)
Дальше идет дескриптор экрана

01 00 - Ширина
01 00 - Высота
80 - хитрый байтик:
Старший бит отвечает за глобальную таблицу цветов.
То есть в нашем файле она есть.
А в описание формата ясно написано:

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

Хе-хе.
00 фон - цветовой индекс фона экрана.
01 Затем резерверд. У меня по формату gif87 он должен быть 0, а здесь 1. К чему бы это?. не знаю.
00 00 00 FF FF FF До символа 2c - идет эта самая глобальная таблица цветов.
Она задана для двух цветов. Еще и белый.

2C - символ разделитель изображения
00 00 - левый край
00 00 - верхний край
01 00 - ширина
01 00 - высота
40 - флажки всякие. (старший бит указывает отeкда брать таблицу цветов: локальную или глобальную. естественно глобальную).
Все. Дальше Растр.
Потом символ терминатора.

Файлы из одного цвета представлются любой программе непрактичными, вот она и кидает нам два цвета в палитру.
А нам нужен один.
Эксперементируем.
Убираем байты FF FF FF- проверяем.
Image
32 байта! Но по всей видимости не везде. Мозилла не понимает. В эксплорере смотрите саме. У меня в описании не сказано что должно быть минимум два цвета в палитре.

Но ничего нам не мешает вообще не использовать таблицу цветов. Пусть он используют глобальную, она по жесткому смещению. А глобальную писать не будем. Тогда будем иметь 29 байт, но хз какой цвет:
Image
Цвет зависит от программы просмотра.
Но это уже наёбка. Удивительно, то, что мозилла её понимает :)

Так что gif Всё таки действительно 35 байт

From: [identity profile] baalexxx.livejournal.com
А где страница-то? Страницы-то нетути.
"Запрашиваемая Вами страница не найдена"
Видать сняли за неприличую картинку...

Date: 2005-06-14 06:58 am (UTC)
From: [identity profile] kost.livejournal.com
Научите gif однопиксельный делать размером 35 байт. У меня 43 получается...