?

Log in

No account? Create an account

Previous Entry | Next Entry

Telnikoff Converter v 0.1

  • 23rd Jan, 2003 at 3:41 PM
grafiti
КАК ПОСТИТЬ ГРАФИКУ БЕЗ ХОСТИНГА

Для тех, кто умеет запускать программы, написанные в Java:
http://www.mydbserver.com/me/tc.jar (15 Kb)

Для тех, кто не умеет: загрузите Java Run Time Еnvironment от Sun Microsystems:
http://java.sun.com/j2se/1.4/download.html
(выберите первый вариант, "Windows (U.S. English only)", 8 Mb). Установите это.
Скачайте файл по ссылке для тех, кто умеет запускать программы, написанные в Java.
Запустите консоль, перейдите в директорию, где находится скаченная программа и запустите ее так:
java -jar tc.jar

* * *

Как я уже говорил, я придумал способ, как постить графические файлы без необходимости в хостинге. Графический файл можно сконвертировать в HTML в виде таблицы, где каждая клетка таблицы соотвествует цвету каждого пикселя графического файла. Полученное изображение выглядит идентично оригиналу, но оно полностью выражено тэгами HTML.

Пример: http://www.mydbserver.com/me/try1.html (пока что только в IE правильно выглядит)

Этим методом нужно пользоваться осторожно, потому что получаемый таким образом HTML будет очень большим. Я бы не стал даже пытаться конвертировать файлы больше 200 x 200 пикселей. Отрывается в браузере это очень медленно - но открывается.

Я написал небольшую программку, которая это делает (см. начало). Там все делается двумя кнопками: "Открыть файл" и "Конвертировать в HTML". Полученный текст нужно выбрать *целиком* (Ctrl+A), скопировать, а потом просто вставить в любой документ.

Пока что программа конвертирует только файлы в формате JPG.

P.S. Если будете пробовать эту программу, начните с крошечных файлов и посмотрите, как ваш браузер справляется с ними.

Update- - - - -
Да, это весьма "варварский" способ использования HTML, я знаю. Но этим он по-своему и ценен. В любом случае, не спешите *мне* рассказывать о том, какой он варварский - я это и так знаю.

Update 2- - - - -
В Мозилле и Нетскейпе такие файлы выглядят неправильно - нужно подумать, как это пофикисть. Указывать там везде высоту < tr > в 1 px, что ли?


Comments

( 51 comments — Leave a comment )
dixi wrote:
23rd Jan, 2003 08:19 (UTC)
Любого, кто воспользуется таким способом - выкину из френдленты моментально.
За извращённое издевательство над моим браузером.
enox wrote:
23rd Jan, 2003 08:26 (UTC)
возникла ещё одна идея: завести для графических файлов специальный пост, хранить там их в виде

=== FILE: 1.gif LENGTH: 2345 CONTENT-TYPE: image/gif ===
564234234fgffJHFGJHfg3jhgFJH=
... (base64)
...
=== FILE END ===
=== FILE: 2.gif LENGTH: 2345 CONTENT-TYPE: image/gif ===
564234234fgffJHFGJHfg3jhgFJH=
... (base64)
...
=== FILE END ===

а в Сети поднять специальный сервис, вырезающий по url текст файла и отдающий его как двоичный примерно по такому url:

http://www.site.com/getbinary.cgi?url=&FILENAME=1.gif

и всё.
минус - двойной трафик до www.site.com
nasha_sasha wrote:
23rd Jan, 2003 08:31 (UTC)
Re:
Я уже думал на эту тему - в рамках того, как хранить файлы в ЖЖ-шных постингах. Будет время, напишу небольшой клиент, который это будет такие файлы извлекать.

Хотя, конечно, такое использование ЖЖ будет уж совсем варварским! :-)
Re: - enox - 23rd Jan, 2003 08:33 (UTC) Expand
mirza wrote:
23rd Jan, 2003 08:26 (UTC)
xkrn3001.dll - требует
nasha_sasha wrote:
23rd Jan, 2003 08:35 (UTC)
Щас проверю, что это он так.
nasha_sasha wrote:
23rd Jan, 2003 08:43 (UTC)
Попробуйте взять отсюда: http://www.mydbserver.com/me/xkrn3001.dll (3 мб)
(no subject) - mirza - 23rd Jan, 2003 08:56 (UTC) Expand
(no subject) - nasha_sasha - 23rd Jan, 2003 09:18 (UTC) Expand
(no subject) - mirza - 23rd Jan, 2003 09:43 (UTC) Expand
annstar wrote:
23rd Jan, 2003 08:29 (UTC)
О, Александр, так вы еще и программист?.. Никогда бы не подумала!..
suhov wrote:
23rd Jan, 2003 08:35 (UTC)
ага, я тоже удивляюсь, Саш
вот блин, а я-то на скрипке играть не умею.. нечестно так ;)
(no subject) - nasha_sasha - 23rd Jan, 2003 09:41 (UTC) Expand
не следит народ - tima - 23rd Jan, 2003 13:31 (UTC) Expand
Re: не следит народ - nasha_sasha - 23rd Jan, 2003 13:49 (UTC) Expand
Удивил!!! - tima - 24th Jan, 2003 05:20 (UTC) Expand
edgar_poe wrote:
23rd Jan, 2003 09:09 (UTC)
Ага! Вот и доказательство, что Александра Тельникова не существует, что это коллективный виртуал. Один пишет за него музыку, другой программирует, третий родил Мащу, четвёртый предаётся упоительным безумствам, пятый берёт интервью...
А сколько вас всего?! ;-)))
nasha_sasha wrote:
23rd Jan, 2003 09:12 (UTC)
Re:
[печально] Нет, это все я. Один.
edgar_poe wrote:
23rd Jan, 2003 09:18 (UTC)
Re:
Тогда я в энный раз горжусь, что я ваш френд и современник! ;-)
art_monster wrote:
23rd Jan, 2003 09:19 (UTC)
А, пример работы можно в студию?
nasha_sasha wrote:
23rd Jan, 2003 09:36 (UTC)
(no subject) - e_dikiy - 23rd Jan, 2003 11:12 (UTC) Expand
Re: - nasha_sasha - 23rd Jan, 2003 11:37 (UTC) Expand
(no subject) - e_dikiy - 23rd Jan, 2003 11:52 (UTC) Expand
(no subject) - e_dikiy - 23rd Jan, 2003 11:56 (UTC) Expand
Re: - nasha_sasha - 23rd Jan, 2003 12:05 (UTC) Expand
(no subject) - e_dikiy - 23rd Jan, 2003 12:19 (UTC) Expand
bugabuga wrote:
23rd Jan, 2003 11:06 (UTC)
ХТМЛ плохой :) Старый нетскейп его просто игнорирует (4.*). В новом нетскейпе 6.2 -- страшные тормоза и картинка вытянута по вертикали до безобразия.
Что до клиента -- сделайте лучше апплетик. Его только один раз нужно стянуть а потом везде, где на него ссылаются кэшированную версию пользовать.
Или -- мини джаваскриптик с пакованными данными (бинхексообразное) который сделает document.write с таблицей :)
nasha_sasha wrote:
23rd Jan, 2003 11:34 (UTC)
Re:
Проблема в том, что заставить апплет читать файлы - это легче застрелиться. Я так и сделал поначалу, думая, что local applet может читать свои же файлы. Оказалось, что нет, он должен быть signed, и вообще он должен быть при этом еще и Sun, иначе окно файлового селектора даже не показывается. При таком раскладе, если юзеру все равно нужно загружать Сановский JRE, уж лучше, чтобы была отдельная программа, а не апплет.

В свое время я это делал в PHP с GD library, там это очень просто. Но для этого нужно загружать файл на сервер, прежде чем пиксельную таблицу можно впихнуть в JavaScript. А потом, JavaScript в таких условиях погибает очень быстро, и весь браузер с собой уносит :-)
(no subject) - bugabuga - 23rd Jan, 2003 12:47 (UTC) Expand
(no subject) - nasha_sasha - 23rd Jan, 2003 13:03 (UTC) Expand
(no subject) - bugabuga - 23rd Jan, 2003 15:58 (UTC) Expand
(no subject) - nasha_sasha - 23rd Jan, 2003 16:50 (UTC) Expand
cax wrote:
23rd Jan, 2003 11:34 (UTC)
Совершенно верно, в Мозилле (и соответственно в Нетскейпах 6 и 7) вытянуто по вертикали раза в 2, а в Нетскейпе 4 вообще не видать ничего. Обидно, да.

Раз уж так пошло, то из 250К где-то 50К можно сбросить, выкинув все "</td>" и тр тоже.

Кстати, браузер Опера показывает нормально.

Владельцев текстовых браузеров и модемов - жалко.
Ещё жалко сам ЖЖ - лопнет он от такого.
nasha_sasha wrote:
23rd Jan, 2003 11:42 (UTC)
Да, закрывающие тэги можно выбросить, я не догадался. Это значительно снизит вес таких картинок. А вот как настроить Мозиллу - нужно подумать. Если вытянуто по вертикали, то, наверное, можно эту проблему решить, если в каждом < tr > указать высоту 1px?
(no subject) - blindmonk - 23rd Jan, 2003 13:06 (UTC) Expand
cax wrote:
23rd Jan, 2003 14:54 (UTC)
Сразу оговорюсь, что в Опере 5 и 6 - не работает, только в Опере 7 бета.

Продолжим оптимизации:
1) итак, выкинули закрывающие тэги (196К)
2) а также выбросили все "#" - и без них работает (186К)
Можно ещё по мелочи - заменить все известные цвета на их имена (ffffff -> white), поотрывать концы строк с одинаковыми белыми точками, и т.д., но это всё несерьёзно и совсем немного.
(180К)
3) Скачиваем http://www.htmlzip.com и используем это чудо техники - да, это то что все подумали: самораспаковка на javascript. (72.2K)

This page is compressed by trial version HTMLZip. Compression: 60% Original size: 183696 Packed size: 74055

В итоге оригинальный 7.2К gif вырастает в 72.2К -примерно в 10 раз, а не в 35, как в начале.
А это уже вполне терпимо !
(для сравнения: 24-битный bmp - 30K(

Хэв фан !
Re: - nasha_sasha - 23rd Jan, 2003 15:18 (UTC) Expand
(no subject) - art_monster - 24th Jan, 2003 01:30 (UTC) Expand
(no subject) - art_monster - 24th Jan, 2003 01:04 (UTC) Expand
katyat wrote:
23rd Jan, 2003 12:33 (UTC)
А вот как постить графику еще проще
Бесплатные хостинги следят, чтобы не отдавалась ссылка на картинки. Причем "картинки" они отличают от "некартинок" по расширению.
Если заменить расширение на .html (е меняя содержания) - ссылка отдается без проблем, а браузер все понимает как надо и не возмущается (ему все равно, какое там расширение).
Проверенно на boom.ru
nasha_sasha wrote:
23rd Jan, 2003 12:51 (UTC)
Re: А вот как постить графику еще проще
Хм, любопытно. А с "народом" это тоже работает?
iltu wrote:
23rd Jan, 2003 12:50 (UTC)
Все понятно. Конвертер. Идея. Реализация. Все понятно. Но что telnikoff -- программист... Откровение. Люди, пишущие ТАК, программистами не бывают.
nasha_sasha wrote:
23rd Jan, 2003 13:03 (UTC)
Re:
Музыка и программирование не так уж сильно отличаются. И в том, и в другом присутствует довольно хорошо выраженное "рациональное начало". Оно примерно одинаково, за вычетом некоторых уловностей.
(no subject) - iltu - 23rd Jan, 2003 14:11 (UTC) Expand
(no subject) - nasha_sasha - 23rd Jan, 2003 14:32 (UTC) Expand
(no subject) - iltu - 23rd Jan, 2003 14:47 (UTC) Expand
(no subject) - iltu - 23rd Jan, 2003 14:52 (UTC) Expand
apkraft wrote:
23rd Jan, 2003 22:20 (UTC)
Охуительно!!!!
Никогда бы не додумался до такого! Я в восторге!!
inna_art wrote:
23rd Jan, 2003 23:32 (UTC)
Это удивительно, какой вы многосторонний! Впрочем, я о чем-то таком догадывалась. И какой это, в самом деле, варварский способ! Ужасно смешно. Рано или поздно вам грозят большие разборки с abuse team.
arsa wrote:
24th Jan, 2003 05:14 (UTC)
Странно,
а мне Ваш тест шестой ИЕ завалил. таблица, видать, нагрузила.
( 51 comments — Leave a comment )