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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2011, 02:09   #1
idip
 
Регистрация: 19.06.2009
Сообщений: 5
По умолчанию Что за искажения происходят при передаче bmp-картинки по TCP?

Обнаружил странную вещь. При передаче bmp-изображения по TCP-протоколу клиенту приходит искажённая картинка. Род искажений - цвета на полученной bmp-картинке, как в восьмибитном режиме. Хотя, сохраняя на диске программой-сервером картинку из потока перед отправкой клиенту, получаю нормальное изображение, какое у неё и есть. Кто-нибудь сталкивался с подобным? В чём причина? Как исправить?
idip вне форума Ответить с цитированием
Старый 07.06.2011, 08:02   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А код покажите?
SERG1980 вне форума Ответить с цитированием
Старый 07.06.2011, 15:07   #3
idip
 
Регистрация: 19.06.2009
Сообщений: 5
По умолчанию

Код следующий.

Код у клиента:

procedure TForm1.Button1Click(Sender: TObject);
var Stream: TMemoryStream;
begin
IdTCPClient1.Host:=Edit2.Text;
IdTCPClient1.Connect;
IdTCPClient1.Write(Edit1.Text); //команда серверу на присылку картинки
Stream:=TMemoryStream.Create; //создаём поток
Stream.Position:=0;
IdTCPClient1.ReadStream(Stream); //считываем принятую картинку в поток
Stream.SaveToFile('File.bmp'); //сохраняем из потока
Stream.Clear;
Stream.Free;
IdTCPClient1.Disconnect;
end;

Код у сервера (отрывок):

Stream:=TMemoryStream.Create; //создаём поток
Stream.Position:=0;
Bitmap.SaveToStream(Stream); //сохраняем в поток из bitmap
Bitmap.SaveToFile('File.bmp'); //сохраняем перед отправкой на диске для контроля
Connection.WriteStream(Stream,True, True); //отправляем
idip вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка jpeg картинки по TCP. idip Работа с сетью в Delphi 0 04.06.2011 23:11
Ошибка при передаче по ссылке N-Cat Помощь студентам 4 10.05.2011 01:24
Искажения изображения при повороте rubik Помощь студентам 1 06.05.2010 12:23
Проблема при передаче через Com-порт ShlakBaum Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 01.02.2010 21:59
bmp картинки B@R@B@$HK@ Общие вопросы C/C++ 0 09.06.2009 23:08