Показать сообщение отдельно
  #1  
Старый 02.03.2011, 20:35
Kobelev Kobelev вне форума
Прохожий
 
Регистрация: 03.12.2010
Сообщения: 12
Репутация: 10
По умолчанию GDI+ сохранение изображения в поток

Здравствуйте, для уменьшения изображения использую gdi+, подскажите пожалуйста каким образом мне сохранить полученное изображение в memoryStream поток.
Не могу понять как работать с IStream.

Код:
procedure MiniPic;
var
 in_img, out_img: TGPImage;
 g: TGPGraphics;
 out_width, out_height: Integer;
 sclx:extended;
 encoderClsid: TGUID;
begin
 out_width :=500;
 in_img := TGPImage.Create(test.jpg);
 sclx:=500/in_img.GetWidth;
 if sclx <> 1 then
  begin
   out_height :=round(in_img.GetHeight*sclx);
   out_img :=TGPBitmap.Create(out_width,out_height);
   g := TGPGraphics.Create(out_img);
   g.DrawImage(in_img, MakeRect(0, 0, out_width, out_height),
    0, 0, in_img.GetWidth, in_img.GetHeight, UnitPixel);
   g.Destroy;
   in_img.Free;
   GetEncoderClsid('image/jpeg', encoderClsid);
   out_img.Save('t_test.jpg', encoderClsid); // каким образом вместо сохранения на диск сделать сохранение в memoryStream
  end;
end;
Ответить с цитированием