forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Загрузка изображений по HTTP (http://forum.boolean.name/showthread.php?t=2521)

Piligrim 11.01.2008 16:11

Ответ: Загрузка изображений по HTTP
 
Ты же вчера спрашивал, как сделать POST запрос. Там есть функция addHttpBody.

cHeRsAnYa 11.01.2008 18:06

Ответ: Загрузка изображений по HTTP
 
Ты писал "Она будет несовместима ни с одним графическим форматом, только внутренне применение.". Вот я и спрашиваю.

ViNT 11.01.2008 20:09

Ответ: Загрузка изображений по HTTP
 
Имеется в виду, что отправить его можно, но ни одна стандартная программа не сможет его обработать.

Piligrim 11.01.2008 20:11

Ответ: Загрузка изображений по HTTP
 
Мда-уж. Учись задавать более конкретные вопросы. Как я уже сказал, преобразование изображения в строку тебе не поможет в данном случае. Здесь надо совместить код нескольких библиотек. Придется немного подождать. Из возможных форматов сохранения будут bmp и png. А при работе с камерой, наверное и jpg.

cHeRsAnYa 12.01.2008 11:34

Ответ: Загрузка изображений по HTTP
 
Тоесть пока (с имеющимися библиотеками) невозможно отправить картинку с камеры на сервер в формате jpg?

EVIL_USER 12.01.2008 13:21

Re: Загрузка изображений по HTTP
 
Тогда, если можно, хотелось бы чтобы можно было по фтп отправлять (хочу что-то вроде веб камеры сделать, только чтобы без серверных скриптов, на любой хост заливалось)

Skythrone 15.07.2008 20:45

Ответ: Загрузка изображений по HTTP
 
Приветствую всех!

Что-то не могу заставить работать Lib_im.class. Даже приведённый Pilgrim'ом в одном из верхних постов пример напрочь не работает:

Код:

program ImageDemo;
uses im;
begin
        drawImage(im.image_from_url('http://avt.foto.mail.ru/mail/kalisto_87/_mrimavatar'), 0, 0);
        repaint;       
        delay(2000);
end.

Выдаётся просто белый экран.

Обратное преобразование (ImageToString) и библиотека Lib_imtostr.class тоже напрочь не работают. :(

Как быть? Где собака порылась?

Я пытаюсь сделать загрузку изображний по HTTP, сохранение их в RecordStore и затем воспроизведение по запросу. Может быть, посоветуете какие-то более простые пути для решения этой задачи?

ViNT 15.07.2008 21:12

Ответ: Загрузка изображений по HTTP
 
Да у меня все нормально, только грузит долго, подождать надо.

Skythrone 15.07.2008 21:17

Ответ: Загрузка изображений по HTTP
 
Гм, загрузил это на эмулятор от SE - всё заработало.

А на эмуляторах SjBoy и MidpX - не работает. :dontknow:

Ну что ж, буду разбираться дальше.

Skythrone 15.07.2008 22:00

Ответ: Загрузка изображений по HTTP
 
Никак не могу понять - в каком формате должен быть string при использовании image_from_string.

PHP код:

image image_from_string(string source) - Создать картинку из строки 

Как конкретно выглядит эта строка source? Это просто бинарные данные, побайтно считанные из файла картинки? Или какое-то более хитрое представление?

odd 16.07.2008 08:09

Ответ: Загрузка изображений по HTTP
 
Цитата:

Сообщение от Skythrone (Сообщение 82355)
Никак не могу понять - в каком формате должен быть string при использовании image_from_string.

PHP код:

image image_from_string(string source) - Создать картинку из строки 

Как конкретно выглядит эта строка source? Это просто бинарные данные, побайтно считанные из файла картинки? Или какое-то более хитрое представление?

В данном случае строка - это побайтно считанные данные и помещенные в строку.

Skythrone 17.07.2008 00:49

Ответ: Загрузка изображений по HTTP
 
Коллеги, взываю о помощи!

Почти целый день сегодня ковырялся с созданием картинки из строки - ничего не получается. :wallbash:

Вот скажите, где я не прав? В чём ошибка?

Код:

program ImageDemo;
uses im;
var s:string;
    i:integer;
    img:image;
    conn: http;

begin

{
// если так делать, то всё работает
 img:=Image_From_URL('http://mad-love.ru/pic/lficon_reg.png');
 drawImage(img,10,10);
 repaint;       
 delay(2000);
}

// а вот так - совсем не работает. :(

 if not OpenHttp(conn, 'http://mad-love.ru/pic/lficon_reg.png') then Halt;

 SetHttpMethod(conn, GET);
 if SendHttpMessage(conn) <> 200 then Halt;
 s:=GetHttpResponse(conn);
 CloseHttp(conn);

 img:=Image_From_string(s);
 drawImage(img,10,10);
 repaint;       
 delay(2000);

end.


ViNT 17.07.2008 01:58

Ответ: Загрузка изображений по HTTP
 
Так а чем Image_from_url не устраивает?
Во-первых советую посмотреть, что находится в строке, получаемой с сервера. Во- вторых, я как-то пытался читать файл в строку и передавать её этой функции - ничего не получилось.

Skythrone 17.07.2008 02:14

Ответ: Загрузка изображений по HTTP
 
В строке от сервера выдаётся точно именно эта картинка. Длина строки соответствует размеру картинки в байтах.

Дело в том, что требуется дёрнуть картинку с сервера только один раз, а затем сохранить её в RecordStore и отображать уже без необходимости закачки данных с сервера.

Других вариантов, кроме как Image_From_String, я здесь не вижу.

Я уже слегка в отчаянии. :(

ViNT 17.07.2008 03:24

Ответ: Загрузка изображений по HTTP
 
Тогда так:
1. Грузим картинку с сервера с помощю Image_from_url.
2. Преобразуем её в массив значений ARGB.
3. Сохраняем данные из массива в RS.
4. Грузим данные из RS в массив.
5. Преобразуем ARGB обратоно в Image и выводим его.

Минус такого подхода - медленная работа и отсутствие сжатия данных.


Часовой пояс GMT +4, время: 12:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot