Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 338
  • Last Modified:

Problem with TJPEGImage!

Hi!

Why doesn't the code below work? It displays test1.jpg just fine (Image1 is an TImage that is put at the form at design-time), but it refuses to display test2.jpg. Do I have to reset (in some way) or even DESTROY the TJPEGImage between these operations?

procedure TForm1.FormShow(Sender: TObject);
var
  JPEG : TJPEGImage;

begin
  JPEG := TJPEGImage.Create;
  JPEG.LoadFromFile('\Temp\Test1.jpg');
  Image1.Picture.Bitmap.Assign(JPEG);
  //**************
  JPEG.LoadFromFile('\Temp\Test2.jpg');
  Image1.Picture.Bitmap.Assign(JPEG);
  Image1.Repaint;
end;

All help appreciated!
0
Dippen
Asked:
Dippen
1 Solution
 
JimBob091197Commented:
Hi

Yes, you MUST free & recreate the jpeg image each time.

E.g.
var
  Jp: TJPegImage;
begin
  Jp := TJPegImage.Create;
  Jp.LoadFromFile('Test1.jpg');
  imgTest.Picture.Bitmap.Assign(Jp);
  Jp.Free;

  // Do stuff...

  Jp := TJPegImage.Create;
  Jp.LoadFromFile('Test2.jpg');
  imgTest.Picture.Bitmap.Assign(Jp);
  Jp.Free;

Cheers,
JB
0
 
acerolaCommented:
try
Image1.Picture.Assign(JPEG);
instead of
Image1.Picture.Bitmap.Assign(JPEG);
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now