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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2011, 17:33   #1
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию преобразование строки в изображение

Добрый вечер, подскажите нубу у меня возникла вот такая проблема я по сети передаю изображение с помощью сокетов, для приёма использую этот код
Код:
procedure TForm1.Writing(Text: string);
begin
if MS.Size < Size then // Если принято байт меньше размера файла, то...
MS.Write(Text[1], Length(Text)); // Записываем в буфер
// Выводим прогресс закачки файла
ProgressBar1.Position := MS.Size*100 div Size;
StatusBar1.SimpleText := 'Принято '+IntToStr(MS.Size)+' из '+IntToStr(Size);
if MS.Size = Size then // Если файл принят, то...
begin
Receive := false; // Переводим клиента в нормальный режим
MS.Position := 0; // Переводим каретку в начало буфера
MS.SaveToFile(name); // Сохраняем файл
ClientSocket1.Socket.SendText('end'); // Посылаем команду "end", то есть файл принят
MS.Free; // Убиваем буфер
StatusBar1.SimpleText := 'Файл принят';
end;
end;
как мне сделать так чтобы вместо сохранения изображения на диск выводить его в Image? благодарю за любую наводку
Lorden вне форума Ответить с цитированием
Старый 20.02.2011, 18:02   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
Image.LoadFromStream(MS);
типа того
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 20.02.2011, 18:11   #3
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
Код:
Image.LoadFromStream(MS);
типа того
спасибо=) вроде что-то как-то заработало=)

Последний раз редактировалось Lorden; 20.02.2011 в 18:17.
Lorden вне форума Ответить с цитированием
Старый 20.02.2011, 20:42   #4
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию

вот возник ещё 1 нубский наверное вопрос=( для сохранения изображения на диск использую функцию:
Код:
SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar('1.bmp')));
а можно ли сделать так чтобы сохранить не на диск а в переменную например B:TBitmap и отобразить в Image?
если сделать так:
Код:
b:=TBitmap.Create;
SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(b));
b.SaveToFile('1.bmp');
то в переменной B толи пусто толи фиг знает что, при сохранении просто изображения нету

Последний раз редактировалось Lorden; 20.02.2011 в 21:28.
Lorden вне форума Ответить с цитированием
Старый 21.02.2011, 11:31   #5
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию

можно ли как нибудь узнать размер переменной Byte?=)
Lorden вне форума Ответить с цитированием
Старый 21.02.2011, 12:14   #6
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

функция SizeOf
Sibedir вне форума Ответить с цитированием
Старый 21.02.2011, 14:56   #7
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию

а можно ли вообще через функцию
Код:
SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar('1.bmp')));
писать не на диск а в переменную? чёт вообще не пойму как это сделать можно(
хотя сейчас сделал так
Код:
SendMessage(hWndC,WM_CAP_SAVEDIB,0,Byte(B));
вроде бы както что-то записывает но как тогда узнать размер переменной B? т.к. когда импользую функцию SizeOF(B) выдаёт ошибку

Последний раз редактировалось Lorden; 21.02.2011 в 15:09.
Lorden вне форума Ответить с цитированием
Старый 21.02.2011, 15:12   #8
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
var
  bm: TBitmap;
...
  bm.LoadFromStream (<>); // сохраняем в пямять
  Image1.Picture.Bitmap := bm; // выводим в Image
Можно вообще не создавать отдельной переменной, а сразу и хранить в Image
Код:
  Image1.Picture.Bitmap.LoadFromStream (<>);
Ч/з SendMessage ни чё не могу подсказать.

Последний раз редактировалось Sibedir; 21.02.2011 в 15:15.
Sibedir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование строки PeRt Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 23.04.2010 10:01
Преобразование строки Neeter Общие вопросы C/C++ 5 05.07.2009 16:25
Паскаль. Преобразование строки andronova Помощь студентам 1 13.04.2009 12:55
преобразование строки xaero93 Помощь студентам 3 05.03.2009 13:00
Преобразование строки во время kayman Общие вопросы Delphi 7 02.10.2007 15:41