скрыть

скрыть

  Форум  

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

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



Google  
 

Распаковка изображения из OleVariant в TBitmap, для передачи по COM-DCOM



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

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

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

procedure LoadBitmapFromVariant(Bitmap: TBitmap; Buffer: OleVariant);
// Загрузка изображения в TBitmap из OleVariant
var
  Stream: TMemoryStream;
  PBuffer: pointer;
begin
  if not VarIsArray(Buffer) then
    Exit;

  Stream := TMemoryStream.Create;
  PBuffer := VarArrayLock(Buffer);
  try
    Stream.Write(PBuffer^, (VarArrayHighBound(Buffer, 1) -
      VarArrayLowBound(Buffer, 1) + 1));
  finally
    VarArrayUnlock(Buffer);
  end;

  Stream.Position := 0;
  Bitmap.LoadFromStream(Stream);
  Stream.Free;
end;





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




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