C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как из BYTE* в TStreem перегнать?
colotoon
Отправлено: 17.10.2006, 08:12


Ученик-кочегар

Группа: Участник
Сообщений: 22



Привет всем!

есть е меня такая переменная-буфер
BYTE* data = new BYTE[FileSize];

В который загружен расшифрованный JPEG рисунок из Blowfish.dll
В файл он пишется без проблем, но, как мне его на TImage закинуть?
Я знаю что через TStreem но как?

(#include тоже присутствует)

help!
colotoon
Отправлено: 17.10.2006, 08:22


Ученик-кочегар

Группа: Участник
Сообщений: 22



#include jpeg.hpp тоже присутствует, но я не знаю как его использовать
olegenty
Отправлено: 17.10.2006, 09:53


Ветеран

Группа: Модератор
Сообщений: 2412



Image->Picture->LoadFromFile
colotoon
Отправлено: 17.10.2006, 10:15


Ученик-кочегар

Группа: Участник
Сообщений: 22



olegenty

LoadFromFile не получится, файл зашифрован!

а дешифрованн в переменную BYTE* data
olegenty
Отправлено: 17.10.2006, 10:39


Ветеран

Группа: Модератор
Сообщений: 2412



TPicture не обладает методами для загрузки из потока, так что сохраняй свой буфер в файл снова и загружай из него, либо через Clipboard.
colotoon
Отправлено: 17.10.2006, 12:39


Ученик-кочегар

Группа: Участник
Сообщений: 22



olegenty
"TPicture не обладает методами для загрузки из потока"

правда? а это тогда что?

Image1->Picture->Bitmap->LoadFromStream();
=====================================================
Loads the bitmap from a stream into the bitmap object.

virtual void __fastcall LoadFromStream(Classes::TStream* Stream);

Description

Use LoadFromStream to load the bitmap image from a stream. The Stream parameter specifies the stream from which to read the bitmap image. For example, use LoadFromStream to load a bitmap image from a BLOB stream that reads from a graphic field in a dataset.
=====================================================
olegenty
Отправлено: 17.10.2006, 12:45


Ветеран

Группа: Модератор
Сообщений: 2412



Да, так можно. Тогда работай с TMemoryStream, SetSize, затем Write туда свой буфер, затем TBitmap->LoadFromStream(твой MemoryStream)
Konstantine
Отправлено: 17.10.2006, 16:11


Мастер участка

Группа: Модератор
Сообщений: 545



в Bitmap так не пойдёт!
нужно в Graphic создать рисунок JPG и туда всунуть с потока.
у меня подобное есть, только GIF. и чтоб не создавать (не уверен в правильности — я при старте в Image делаю LoadFromFile("Empty.gif")... естесно что произвольный (1х1 точек) файл подготовлен. а затем Image1->Picture->Graphic->LoadFromStream(st);
olegenty
Отправлено: 18.10.2006, 08:52


Ветеран

Группа: Модератор
Сообщений: 2412



да, стормозил, TBitmap с форматами не работает, только TGraphic ...

Вернуться в Вопросы программирования в C++Builder