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

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 TImageEnMView IEDBMultiBitmap TIFF Page 1 only
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

Sidney Egnew

USA
55 Posts

Posted - Sep 03 2020 :  11:32:46  Show Profile  Reply
I am trying to load the content of a database field into a ImageEnMView but it will only display the first page of a multi-page TIFF.

IEDBMultiBitmap.Mode := dmAllRecords;
IEDBMultiBitmap.DataSource := dsFieldReport;
IEDBMultiBitmap.ImageBlobField := 'TIFFPages';
//--IEDBMultiBitmap.ParamsEnabled := True; // Attempt to access page 2
//--IEDBMultiBitmap.Params[0].ImageIndex := 2; // Attempt to access page 2
ImageEnMView1.SetExternalMBitmap(IEDBMultiBitmap);
ShowMessage('Count='+IntToStr(ImageEnMView1.ImageCount));
// RESULT IS ALWAYS -- Count=1

No matter what I try, I have only been able to view the first page. The same image can be loaded into a TImageEnDBView and all pages can be viewed using this code:
with ImageEnDBView1 do
begin
DataSource := dsFieldReport;
DataField := 'TiffPages';
LoadPicture;
AutoStretch := True;
AutoShrink := True;
end;

The database field is an Oracle BFILE which contains a reference to a physical file in the file system. It behaves as if the image is actually in the database. I can load the associated file into the ImageENMView and it works correctly. Users cannot be allowed to directly access the file system so this needs to work through the BFILE.

Is it possible to load all pages into the ImageEnMView1 from the database field?

xequte

38616 Posts

Posted - Sep 04 2020 :  18:33:42  Show Profile  Reply
Hi Sidney

At this time, TIEDBMultiBitmap has two modes:

dmAllRecords, which displays (the first frame of) all images in a database
dmRecordFrames, which shows all frames of the image at the current database position

https://www.imageen.com/help/TIEDBMultiBitmap.Mode.html

It sounds like dmRecordFrames is what you are looking for.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: