ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Most efficient way to display values in ImageEnMView

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
yeohray2 Posted - Oct 28 2021 : 00:02:54
I'm displaying a series of images in TImageEnMView using the AppendImage function. In the caption/text for each image, I would like to display some values from the image's properties e.g. the Exif aperture value.

What is the most efficient way of doing this? I could use the ImageTopText/ImageInfoText/ImageBottomText properties, or use the OnGetText event handler. However, is there an event that fires after ImageEn has internally loaded the thumbnail for that image, so that the image is still in memory and I can just use the already-loaded image to extract the values I need and set the text accordingly?

Thanks in advance.

Regards
Ray
2   L A T E S T    R E P L I E S    (Newest First)
yeohray2 Posted - Oct 29 2021 : 05:07:14
Got it, thanks.
xequte Posted - Oct 28 2021 : 19:14:56
Hi Ray

You can use the OnImageLoaded to fill it once the image is available, e.g.

// After image has loaded, use EXIF aperture as Info text
procedure TForm1.ImageEnMView1ImageLoaded(Sender: TObject; Idx: Integer);
var
  s: string;
begin
  s := ImageEnMView1.MIO.Params[ Idx ].EXIF_ApertureValue2;
  if s = '' then
    s := '-';
  ImageEnMView1.ImageInfoText[idx] := 'Aperture: ' + s;
end;


Nigel
Xequte Software
www.imageen.com