Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Bitmap in Stream Speichern (https://www.delphipraxis.net/87159-bitmap-stream-speichern.html)

hedie 24. Feb 2007 00:35


Bitmap in Stream Speichern
 
Hallo


Ich möchte ein screenshot machen mit dieser funktion

Delphi-Quellcode:
procedure MakeScreenShot(const ATarget: TBitmap);
var
  DesktopDC: HDC;
begin
  DesktopDC := CreateDC('DISPLAY', nil, nil, nil);
  try
    ATarget.PixelFormat := pfDevice;
    ATarget.Width := Screen.Width;
    ATarget.Height := Screen.Height;
 
    BitBlt(ATarget.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DesktopDC, 0, 0, SRCCOPY);
  finally
    DeleteDC(DesktopDC);
  end;
end;
Dieses bmp soll mitels diesem Code in einen Stream geschrieben werden

Delphi-Quellcode:
ds := TMemoryStream.Create;
bmp := TBitmap.Create;
MakeScreenShot(bmp.Create);
bmp.SaveToStream(ds);
rc.Put(ds,cn+'.bmp',true);
ds.Free;
rc ist ein FTP Client
bmp habe ich als TBitMap deklariert

Das problem dabei ist, das die dateien die raufgeladen werden 0Bytes gross sind

ich finde den fehler nicht

bitte hilfe

grüsschen

SirThornberry 24. Feb 2007 00:43

Re: Bitmap in Stream Speichern
 
du hast vergessen die Position des Streams auf 0 zurück zu setzen.

hedie 24. Feb 2007 00:44

Re: Bitmap in Stream Speichern
 
danke :D

Muetze1 24. Feb 2007 17:11

Re: Bitmap in Stream Speichern
 
Nochwas: Was soll den der Create Aufruf beim Parameter?
Delphi-Quellcode:
MakeScreenShot(bmp.Create);

hedie 24. Feb 2007 17:15

Re: Bitmap in Stream Speichern
 
Keine ahnung aber es funktioniert :D

SirThornberry 24. Feb 2007 17:17

Re: Bitmap in Stream Speichern
 
funktioniert aber man sollte es nicht machen, denn dadurch entstehen in den meisten Fällen Speicherlecks.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz