скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Упаковка изображения, хранимого в TBitmap, в OleVariant для передачи по COM-DCOM



Автор: Бармалей

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Упаковка изображения, хранимого в TBitmap,
в OleVariant для передачи по COM/DCOM

Зависимости: Classes
Автор:       Бармалей, barma@amazonit.ru
Copyright:   (с) Муханов Игорь Станиславович, г.Москва, 2002 г.
Дата:        29 апреля 2002 г.
***************************************************** }

function SaveBitmapToVariant(Bitmap: TBitmap): OleVariant;
// Сохранение изображения из TBitmap в OleVariant
var
  Stream: TMemoryStream;
  Buffer: OleVariant;
  PBuffer: pointer;
begin
  Result := varEmpty;
  Stream := TMemoryStream.Create;
  Bitmap.SaveToStream(Stream);

  Buffer := VarArrayCreate([0, Stream.Size - 1], VarByte);
  PBuffer := VarArrayLock(Buffer);
  try
    Stream.Position := 0;
    Stream.Read(PBuffer^, Stream.Size);
  finally
    VarArrayUnlock(Buffer);
    Stream.Free;
  end;

  Result := Buffer;
end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook