HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

переменную Jpeg из памяти в Socket
  #1  
Старый 10.05.2009, 03:46
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
С нами: 10175096

Репутация: 105
Exclamation переменную Jpeg из памяти в Socket

Нужна помощь в отправке переменной типа TJpegImage в сокет "на лету" из памяти. вариант сохранить в файл а затем отправлять не предлагать

перевожу сначала Jpeg в MemoryStream а затем стрим копирую в буфер, но уже при самом переводе из jpeg в memorystream облом какойто, размер картинки в два раза растет, а при передаче в буфер совсем ноль, может существует способ непосредственно используя переменную jpeg отправлять в сокет?

PHP код:
procedure SendJpeg(JpegName:String);
const
  
PACKET_DATA_SIZE 16777216;//16*1024*1024//16ÌÁ
type
  PByteArray 
= ^TByteArray;
  
TByteArray = array[0..PACKET_DATA_SIZE-1of byte;
var
  
Buf       PByteArray;
  
jpg       TJpegImage;
  
MemStream TMemoryStream;
  
flw       File;
begin
  jpg 
:= TJpegImage.Create;
  
MemStream := TMemoryStream.Create;
  try
    
jpg.LoadFromFile(JpegName);
    try
      
jpg.SaveToStream(MemStream);
      
GetMem(Buf,MemStream.Size);
      
MemStream.WriteBuffer(Buf^,MemStream.Size);
      
SendBuf(Sock,Buf^,MemStream.Size);

      
jpg.SaveToFile('1.jpg');//сохраняется файл размером 3 кб
      
MemStream.SaveToFile('C:\2.jpg');//сохраняется файл размером 6 кб

      
AssignFile(flw,'C:\3.jpg');
      
ReWrite(flw,1);
      
BlockWrite(flw,buf^,MemStream.Size);//ничего не сохраняется
      
CloseFile(flw);

      
FreeMem(Buf);
    finally
    
end;
  finally
    
jpg.free;
    
MemStream.Free;
  
end;
end
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
4 и более GB ОЗУ для ОС Windows (32/64) NetSter "Железо" 10 28.12.2009 20:11
Назревает революция в технологиях оперативной памяти jerrri Мировые новости. Обсуждения. 1 10.02.2009 02:47
Графический стандарт JPEG XR готовится к дебюту WAR!9G Мировые новости. Обсуждения. 0 01.02.2009 12:14
асм, дизасм, принцип работы процов на определенном уровне. Cthulchu "Железо" 0 05.01.2009 20:14



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.