Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывести JFIF (JPEG из интернета) на экран 
:(
    Опции темы
Snowy
Дата 25.9.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



// Тема Ibragim

Цитата

День добрый. 
Есть 
Код

Pict: TStream;

в которой хранится рисунок в формате JFIF, выглядит вот так (начало)
Код

......JFIF.....H.H.....ACopyright (c) 2004 by Yahoo! Incorporated. All Rights Reserved....C..............
..
................. $.' ",#..(7),01444.' и так далее

Как бы его показать на экране, то есть "засунуть" в 
Код

Image1: TImage;

Благодарю за внимание, жду советов. 

--------------------------------------------------------------------------

Image1.Picture.LoadFromStream ?

Это сообщение отредактировал(а) alexeis1 - 27.9.2006, 07:46
PM MAIL   Вверх
Alexeis
Дата 25.9.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



вот так точно работает
Код

uses
   jpeg;

procedure TForm1.FormCreate(Sender: TObject);
var
 f : TFileStream;
 j : TJpegImage;
begin
  f := TFileStream.Create('F:\Share\2.jpg', fmOpenRead);
  j := TJpegImage.Create;
  j.LoadFromStream(f);
  img1.Picture.Assign(j);
  j.Free;
  f.Free;
end;


В данном случае поток файловый, но он может быть любым.

Это сообщение отредактировал(а) alexeis1 - 25.9.2006, 12:42


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ibragim
Дата 25.9.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



Эхххх... Пишет "TStream.Seek not implemented" и вылетает...


Код

var
  Pict: TStream;
  j: TJPEGImage;

...
Код

  Pict := TStream.Create;
// Здесь наполнение Pict данными
  j := TJPEGImage.Create;
  j.LoadFromStream(Pict);
  Image1.Picture.Assign(j);

PM MAIL   Вверх
Alexeis
Дата 25.9.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Ibragim, это очень плохо, значит поток не полноценный, тогда лучше скопировать все его содержимое в промежуточный TMemoryStream, a из него уже в жпег.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 25.9.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Цитата(Ibragim @  25.9.2006,  17:24 Найти цитируемый пост)
Pict := TStream.Create;
Нельзя создавать объект абстрактного класса.
Может ты имел ввиду TMemoryStream?
PM MAIL   Вверх
Ibragim
Дата 25.9.2006, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



C TMemoryStream пишет  Jpeg Error #42 на операции Image1.Picture.Assign(j);

Вполне возможно, что проблема в формате JFIF, это все таки не JPeg, вот и не понимает.... Но как побороть, не представляю...

Это сообщение отредактировал(а) Ibragim - 25.9.2006, 17:57
PM MAIL   Вверх
Snowy
Дата 25.9.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Код

  j := TJPEGImage.Create;
  Pict.Position := 0;
  j.LoadFromStream(Pict);
  Image1.Picture := j;
  j.Free;

PM MAIL   Вверх
Ibragim
Дата 25.9.2006, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



Прикольно, ошибка поменялась на Jpeg Error #53 smile , по варианту Snowy.

Ладно, спасибо большое отозвавшимся, похоже это нельзя решить удаленно - вы ж не телепаты. Буду дальше копать.
PM MAIL   Вверх
Snowy
Дата 25.9.2006, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Дай файл - покопаем локально smile
PM MAIL   Вверх
Alexeis
Дата 26.9.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Странно, TcpClient1.ReadStream() - показывает, что такого метода не существует.
Это что наследник TcpClient1 разве не объект класса TcpClient?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ibragim
Дата 26.9.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



Нет, это 
Код

   TcpClient1: TIdTCPClient;
- TCP клиент с закладки Indy
PM MAIL   Вверх
Alexeis
Дата 26.9.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Вопрос на самом деле двойственный. 
Если вы согласны, то я разделю тему на две части, одну из которых перенесу в сети (правда еще ни разу этого не делал  smile )




Это сообщение отредактировал(а) alexeis1 - 27.9.2006, 07:40


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 26.9.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



А ты сохрани стрим в файл, а картинку браузером. и сравни эти 2 файла.

Цитата(alexeis1 @  26.9.2006,  19:31 Найти цитируемый пост)
Если вы согласны, то я разделю тему на две части, одну из которых перенесу в сети
Давно пора.
А то уже совсем другой вопрос обсуждаем.

Цитата(alexeis1 @  26.9.2006,  19:31 Найти цитируемый пост)
правда еще ни разу этого не делал
При разделении отмечай галками посты, которые выделить и дай новому топу имя.
Там ничего сложного - тренируйся.
PM MAIL   Вверх
Alexeis
Дата 26.9.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Модератор: Часть темы перенесено в раздел СDelphi: Сети

Это сообщение отредактировал(а) alexeis1 - 26.9.2006, 20:59


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1126 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.