Avatar billede Slettet bruger
14. juli 2002 - 15:12 Der er 15 kommentarer og
1 løsning

JPEG og Canvas

i mit Image har jeg et JPEG billede.
Men nu prøver jeg koden:

with Image1.Canvas do
  begin
    Font.Color := Panel2.Color;
    Font.Name := Combobox1.Text;
    Font.Size := 12;
    Brush.Color := Panel3.Color;
    if Checkbox3.Checked = True then
    TextOut(0, 0, Edit7.Text+' - ['+ DateToStr(Date) +' - '+TimeToStr(Time)+']')
    else
    TextOut(0, 0, Edit7.Text);
end;

- Men det virker ikke når der er et JPEG billede i den Image. Hvad skal jeg gøre?
Avatar billede hermandsen Juniormester
14. juli 2002 - 15:14 #1
Gem det som bmp! :)
Avatar billede Slettet bruger
14. juli 2002 - 15:15 #2
Det skal jo være JPEG  det hele jo =]
Avatar billede hermandsen Juniormester
14. juli 2002 - 15:17 #3
Forresten så kan du revidere din kode lidt...

Du kan skrive DateTimeToStr(Now); i stedet for DateToStr(Date) +' - '+TimeToStr(Time).

Samtidig behøver du heller ikke at skrive if CheckBox3.Checked = True then. Blot if CheckBox.Checked then ;)

Jeg kigger lige på jpg-canvas-tegning! ;)
Avatar billede Slettet bruger
14. juli 2002 - 15:25 #4
Okay :)
Avatar billede hermandsen Juniormester
14. juli 2002 - 15:27 #5
I første omgang så prøv denne her:
http://www.torry.net/vcl/graphics/jpg/jpgimg.zip
Avatar billede Slettet bruger
14. juli 2002 - 15:40 #6
Fedt nok :)
Avatar billede hermandsen Juniormester
14. juli 2002 - 15:45 #7
Den virker sgu godt!!! :)

Her er et eksempel:

uses
  JpgImg;

procedure TForm1.Button1Click(Sender: TObject);
var
  jog: TJPEGImage;
begin
  jog := TJPEGImage.Create(Self);
  jog.Parent := Self;
  jog.Left := 10;
  jog.Top := 10;
  jog.AutoSize := True;
  jog.LoadFromFile('C:\Dokumenter\Privat\download.jpg');
  jog.Canvas.TextOut(0, 100, 'Maaaaaaf!!! + ['+DateTimeToStr(Now)+']');
end;
Avatar billede Slettet bruger
14. juli 2002 - 16:13 #8
Godt nok. Nu skal jeg bare ha http://borrisholt.com/Grapichs/DelphiSource/ScreenCapture2.zip til at samarebejde med JpegImage.

Vil gerne gi' flere points.
Avatar billede hermandsen Juniormester
14. juli 2002 - 16:29 #9
Jeg ser lige på den... Har ikke kigget på det eksempel i lang tid!!! ;)
Avatar billede hermandsen Juniormester
14. juli 2002 - 16:33 #10
Jeg er ikke helt med... Hvad mener du med at de skal sammenarbejde?
Avatar billede Slettet bruger
14. juli 2002 - 17:06 #11
Jeg skal tage et screenshot med den og så skal jeg overføre den til TJPEGImage!
Avatar billede hermandsen Juniormester
14. juli 2002 - 17:46 #12
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, JpgImg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    JPEGImage : JpgImg.TJPEGImage;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

uses
  JPEG;

function ScreenCapture:TBitmap;
// this function captures the screen
var
  ScreenDC: HDC;
ARect:TRect;
begin
  Result := TBitmap.Create;
  ARect := Rect(0,0,Screen.Width,Screen.Height);
  Result.Width := ARect.Right - ARect.Left;
  Result.Height := ARect.Bottom - ARect.Top;
  ScreenDC := GetDC( 0 );
  try
    BitBlt( Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, ScreenDC, ARect.Left, ARect.Top, SRCCOPY );
  finally
    ReleaseDC( 0, ScreenDC );
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  tmp : TBitmap;
begin
  tmp := ScreenCapture();
  Image1.Picture.Assign(tmp);
  tmp.Destroy;
end;

//You might also want to use this procedure, because the bmp is normally pretty huge
//this converts the a Bitmap to a JPEG image

procedure TForm1.Button2Click(Sender: TObject);
begin
  JPEGImage := JpgImg.TJPEGImage.Create(Self);
  with JPEGImage do
  begin
    Parent := Self;
    Top := Image1.Height;
    Left := 0;
    Height := 100;
    Width := 100;
    Canvas.Draw(0,0, ScreenCapture);
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  JPEGImage.Free;
end;

end.


Ka' det gå? :)

//hermandsen
Avatar billede Slettet bruger
14. juli 2002 - 18:19 #13
hermandsen ... du er gud
Avatar billede hermandsen Juniormester
14. juli 2002 - 18:30 #14
Jamen selv tak da! ;)
Avatar billede xpx Nybegynder
15. juli 2002 - 14:25 #15
Hej!

Jeg fik dette link af Hermandsen, og så vile jeg gerne spørge sfredsted om, jeg må få/købe/hente hans program JpegImage. Må jeg det? (For at gøre det perfekt :])

XpX
Avatar billede fundus Nybegynder
23. januar 2009 - 17:38 #16
nej den er "JPEG error #42" :S
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester