Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2011, 23:44   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Загрузка рисунка из TStream

Как можно загрузить рисунок в Image из TStream???

PHP код:
istream:=TStream.Create;
IdHTTP1.Get(Edit1.Text,istream);
Image1.Picture.Graphic.LoadFromStream(istream); 
так не хочет... пробовал еще вот так
PHP код:
istream:=TStream.Create
bmp:=TBitmap.Create;
IdHTTP1.Get(Edit1.Text,istream);
bmp.LoadFromStream(istream);
Image1.Canvas.Draw(Image1.Height,Image1.Widthbmp); 
в место рисунка просто белый фон.
cargo29 вне форума Ответить с цитированием
Старый 08.07.2011, 10:39   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
Image1.Picture.Bitmap.LoadFromStream(istream);
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2011, 10:59   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

ключевое здесь вот это
IdHTTP1.Get(Edit1.Text,istream);
то есть ТЕКСТОВЫЙ поток пытаемся грузить в картинку
.... LoadFromStream(istream);
Хотя возможно и неправ (не сталкивался близко с HTTP).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 08.07.2011, 11:04   #4
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
Image1.Picture.Bitmap.LoadFromStream(istream);
Ошибку выдает пробовал..
cargo29 вне форума Ответить с цитированием
Старый 08.07.2011, 11:08   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
то есть ТЕКСТОВЫЙ поток пытаемся грузить в картинку
если ссылка ведет на файл, то скачается именно файл.

ТС, какую ошибку выдает то?(я ж не телепат)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2011, 11:08   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На какой команде и какая ошибка?
И можно перед LoadFromStream(istream) поставить istream.Position:=0. Не помню точно, но кажется здесь загрузка идет с текущей позиции стреама
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.07.2011, 11:32   #7
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Вот ...

PHP код:
srea:=TStream.Create;
IdHTTP1.Get(Edit1.Text,srea);
srea.Position:=0;
Image1.Picture.Bitmap.LoadFromStream(srea); 
Изображения
Тип файла: jpg Безымянный.JPG (141.2 Кб, 134 просмотров)
cargo29 вне форума Ответить с цитированием
Старый 08.07.2011, 11:43   #8
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Вот как я понимаю он считать не может?
Изображения
Тип файла: jpg Безымянный.JPG (128.8 Кб, 137 просмотров)
cargo29 вне форума Ответить с цитированием
Старый 08.07.2011, 11:44   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно поиграться, выгрузив стреам в файл, посмотреть что он выгрузил. Попытаться в имедж загружать из файла (Image1.Picture.LoadFromFile).

Цитата:
Вот как я понимаю он считать не может?
Тогда другие проблемы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 08.07.2011 в 11:48.
Аватар вне форума Ответить с цитированием
Старый 08.07.2011, 11:47   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

епрст, кто ж так поток то создает?
TStream это абстрактный класс.
если нужно в память грузить, то TMemoryStream создавайте.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Array Of Byte -> TStream KiL0z Общие вопросы Delphi 9 18.06.2011 20:17
Загрузка рисунка Ilya9999 Microsoft Office Excel 9 27.05.2010 21:52
TStream Владимир1988 Помощь студентам 2 17.12.2009 10:16
Загрузка рисунка из мемо!!! Vito89 Общие вопросы Delphi 5 10.06.2009 13:48
Помогите с получением TStream в CGI boades Работа с сетью в Delphi 0 25.10.2007 10:25