(Gast)
n/a Beiträge
|
AW: Directx bitmap stretchen/Skalieren
2. Jan 2014, 23:05
Interessanterweise ist bei mir der Inhalt des OffscreenPlainSurfaces bereits komplett schwarz
Bei mir nicht.
Den normalen ScreenShot des Clientbereichs kann ich ohne Probleme erstellen.
Hast mein letztes Update geladen?
Delphi-Quellcode:
procedure TForm1.btnCaptureClick(Sender: TObject);
var
Surface: IDirect3DSurface9;
ARect: TRect;
p: TPoint;
begin
//Source
if (CaptureX.FDevice.CreateOffscreenPlainSurface(
Screen.PrimaryMonitor.BoundsRect.Right,
Screen.PrimaryMonitor.BoundsRect.Bottom, D3DFMT_A8R8G8B8,
D3DPOOL_SYSTEMMEM, Surface, nil) = S_OK) then
begin
CaptureX.FDevice.GetFrontBufferData(0, Surface);
ARect := clientRect;
P := ClientToScreen(Point(clientrect.Left, clientrect.Top));
SetRect(ARect, p.x, p.y, p.x + ARect.right, p.y + ARect.bottom);
D3DXSaveSurfaceToFileW('D:\paper.bmp', D3DXIFF_BMP, Surface, nil, @ARect);
end;
Timer1.Enabled := False;
end;
Gruss
Geändert von EWeiss ( 3. Jan 2014 um 02:25 Uhr)
|
|
Zitat
|