Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi *.jpeg Datei erstellen (https://www.delphipraxis.net/15691-%2A-jpeg-datei-erstellen.html)

Nils1984 2. Feb 2004 18:12

Re: *.jpeg Datei erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
also erstmal danke für die hilfe

das läuft auch

bis man die Screenshottaste drückt....

ich raff garnix mehr :wall:

Ich häng ma die datei an....

hboy 2. Feb 2004 18:28

Re: *.jpeg Datei erstellen
 
des jpg und clip sind auch objekte die man createn muss.

ausserdem ist das systemclipboard ne extra variable in clipboard:

clip := Clipboard;

hboy 2. Feb 2004 18:28

Re: *.jpeg Datei erstellen
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  clip := Clipboard; // Systemzwischenablage
  img := TPicture.Create;

end;
[edit=MrSpock]Codetags nach r_kerber zum 2. Mal eingefügt. Bitte ab jetzt selber machen. :mrgreen: Mfg, MrSpock[/edit]

hboy 2. Feb 2004 18:29

Re: *.jpeg Datei erstellen
 
sorry ich meinte img: TPicture;

Nils1984 2. Feb 2004 21:07

Re: *.jpeg Datei erstellen
 
Delphi-Quellcode:
Procedure TScreeny.Bild_Speichern;
Var Zeit :TDateTime;
    name :String;
    img: TPicture;
    Jpg: TJPEGImage;
Begin
  Zeit := now;
  Clip := Clipboard;
  img := TPicture.create;
  Jpg := TJPEGImage.create;
  name := ('Bild von '+Timetostr(Zeit)+'.jpeg');
  img.LoadFromClipboardFormat(CF_Bitmap,clip.GetAsHandle(CF_Bitmap),0);
  jpg.Assign(img);
  jpg.CompressionQuality := 50;
  jpg.ProgressiveEncoding := true;
  jpg.Compress;
  jpg.SaveToFile(name);
  clip.clear;
  img.Free;
End;

Function TScreeny.check_ClipBoard :Boolean;
Begin
  if Clipboard.HasFormat(CF_TEXT)
    Then Result := False
    else if clipboard.HasFormat(CF_Bitmap)
           Then Result := True;
end;
soweit bin ich jez, aber da kommt immer ne Fehlermeldung wenn ich die Screenshottaste drück

Stanlay Hanks 2. Feb 2004 21:09

Re: *.jpeg Datei erstellen
 
Hi. Welche Fehlermeldung denn? Da gibts ja viele :wink:

Nils1984 2. Feb 2004 21:13

Re: *.jpeg Datei erstellen
 
grrr :evil:

ich hatte überlegt ob ich sie abschreiben soll, habs dann gelassen wil ich keinen bock hatte,aber wenn du soooo lieb fragst:

"Im Projekt pScreeny.exe is eine Exception der Klasse EConvertError aufgetreten. Meldung : 'TPicture kann nicht zu TJPEGImage zugewiesen werden' Prozess wurde angehalten. rinzelanweisungen blablabla"

Stanlay Hanks 2. Feb 2004 21:21

Re: *.jpeg Datei erstellen
 
Dann liegt es wohl an dem

Delphi-Quellcode:
jpg.Assign(img);
wo du versuchst, dem TJpeg ein TPicture zuzuweisen.

Aber mal ne andere Frage: Wieso eigentlich TPitcure? Interessiert mich nur, weil ich es nicht ganz verstehe, warum da nicht z.B. ein TImage verwendet wird. :gruebel:

Man liest sich, Stanlay :hi:

hboy 2. Feb 2004 21:23

Re: *.jpeg Datei erstellen
 
sorry was ich gepostet hab is nich all mein code:

ich hab das so:

Delphi-Quellcode:
  DesktopBitmap:TBitmap;
implementation

{$R *.dfm}

procedure scrshoot();
begin
   BitBlt(DesktopBitmap.Canvas.Handle,0,0,Screen.Width,Screen.Height,GetDC(GetDesktopWindow),0,0,SrcCopy);
   buf.Assign(DesktopBitmap);
   buf.CompressionQuality := 50;
   buf.ProgressiveEncoding := true;
   buf.Compress;
end;
kommt daher das ich in meinem programm keine jpeg funktion drin hab, die in nem anderen drin steckt. also jpegbild.assign will natürlich ein bitmap also würde ich
sagen nimm mal picture.bitmap da nur picture aus dem clipboard laden kann.

hboy 2. Feb 2004 21:25

Re: *.jpeg Datei erstellen
 
Zitat:

Zitat von Stanlay Hanks
Dann liegt es wohl an dem

Delphi-Quellcode:
jpg.Assign(img);
wo du versuchst, dem TJpeg ein TPicture zuzuweisen.

Aber mal ne andere Frage: Wieso eigentlich TPitcure? Interessiert mich nur, weil ich es nicht ganz verstehe, warum da nicht z.B. ein TImage verwendet wird. :gruebel:

Man liest sich, Stanlay :hi:

TImage is von TGraphicControl abgeleitet was er gar nich braucht. Da würde es schon ein TBitmap tun, das hat aber kein LoadFromClipboard.

natürlich dann auch
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  buf := TJPEGImage.Create;
  DesktopBitmap := TBitmap.Create;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.
Seite 2 von 4     12 34      

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