@ Luckie
wo mache ich was ?
ich habe nur diesen Code:
Delphi-Quellcode:
// Speichern
procedure TForm7.speichern(Sender: TObject);
begin
try
Image1.Picture.SaveToFile('TestBitmap.bmp');
finally
ShowMessage('Bild wurde gespeichert.');
end;
end;
das Bild it selber ein Screenshot welcher in Image1 geladen wird (Screenshot wird mit dem Programm gemacht, also nicht aus einer datei geladen) hier der erste Code dazu:
Delphi-Quellcode:
// Screenshot
procedure TForm7.Button3Click(Sender: TObject);
var tempBild: TBitmap;
begin
WindowState := wsminimized;
Image1.picture := nil;
tempBild := TBitmap.Create;
Sleep(1000);
ScreenShot(tempBild,Edit2.Text,Edit1.Text,Edit3.Text,Edit4.Text);
Image1.Picture.Assign(tempBild);
tempBild.Free;
WindowState := wsNormal;
Form7.BringToFront;
SetForegroundWindow(FindWindow(nil,'Screenshot'));
end;
die Procedur ScreenShot schau dann so aus:
Delphi-Quellcode:
procedure ScreenShot(var Bild: TBitMap; startX2 : string; startY2 : string; endeX2 : string; endeY2 : string);
var
Mydc : cardinal;
MausPos : TPoint;
startX, startY, endeX, endeY : integer;
startX1, startY1, endeX1, endeY1 : integer;
begin
startX := strtoint(startX2);
endeX := strtoint(endeX2);
startY := strtoint(startY2);
endeY := strtoint(endeY2);
startX1 := startX;
endeX1 := endeX;
startY1 := startY;
endeY1 := endeY;
if startX > endeX then
begin
startX := endeX1;
endeX := startX1;
end;
if startY > endeY then
begin
startY := endeY1;
endeY := startY1;
end;
MyDc := GetDC(0);
GetCursorPos(MausPos);
Bild.PixelFormat := pf32bit;
begin
Bild.Width := endeX - startX;
Bild.Height := endeY - startY;
if Bild.Width < 0 then Bild.Width := Bild.Width * -1;
if Bild.Height < 0 then Bild.Height := Bild.Height * -1;
BitBlt(Bild.Canvas.Handle,0,0,endeX,(Screen.Height - startY),Mydc,startX,startY,SRCCOPY);
end;
ReleaseDC(0, Mydc);
end;
also damit lade ich den Screenshot in Image1
liegt da vielleicht irgendwo das Problem ?
@ Christian Seehase
an dem Patrh sollte es nicht liegen, das Bild wird ja angelegt, ist halt nur schwarz
welche Version von Lazarus verwendest du denn ? ich habe den SnapShot vom 21.03.2005 genommen also immer das aktuellste was es gibt