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
 iexPdfiumCore FPDF_RenderPageBitmap error

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
aleatprog Posted - Feb 13 2022 : 07:19:23
Hi,

I got a secondary VCL (frmPdfViewer) with TImageEnMView + attached TImageEnView with enabled PdfViewer which automatically loads a specific PDF file on show when launched in modal mode by the main VCL (frmMain).

Now, if frmPdfViewer.ShowModal is automatically launched at application start, the PDF file is loaded correctly. But when it is launched manually using an action, TImageEnMView misses one thumbnail. With my test files, in a 4 page PDF document it's always page 2, in a 12 page PDF document it's always page 5.

Clicking on the empty area of the missing thumbnail, the error message "Invalid floating point operation" appears while the thumbnail is loaded automatically.

Debugging, the error is raised by iexPdfiumCore, line 2005:

// DrawFlags: See "Page Rendering Flags"
procedure TPdfPage.DrawToPdfBitmap(APdfBitmap: TPdfBitmap; X, Y, Width, Height: Integer;
Rotate: TPdfPageRotation; const DrawFlags: Integer);
begin
Open();
FPDF_RenderPageBitmap( APdfBitmap.fBitmap, fPdfiumPage, X, Y, Width, Height, Ord(Rotate), DrawFlags );
end;

Does anybody got an idea?

Ale
12   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - Feb 23 2022 : 15:11:15
Hi Al

I will improve the documentation.

Nigel
Xequte Software
www.imageen.com
aleatprog Posted - Feb 23 2022 : 05:12:10
Hi Nigel,

rather than removing "::0" from SelectedImage/SelectedFilename, I suggest to add the delimiter information to the manual. : )

Who needs to modify the SelectedFilename can use a function.

Al
xequte Posted - Feb 21 2022 : 19:19:27
Hi Al

It is by design that filenames include the delimiter, e.g. Filename of C:\Users\Nigel\Desktop\Test.tiff::5 tells us that its image 5 of test.tiff.

But I will remove it from SelectedImage if the index is 0

Nigel
Xequte Software
www.imageen.com
aleatprog Posted - Feb 21 2022 : 12:05:26
Hi Nigel,

had you been able to reproduce on your system the behaviour of IEM_Path_Index_Delimiter?

Al
aleatprog Posted - Feb 16 2022 : 02:55:51
Hi Nigel,

with
Path := 'C:\Users\Nigel\Desktop\Test.jpg'


1.)
ImageEnMView1.AppendImage(Path + IEM_Path_Index_Delimiter);
causes
ImageEnMView1.SelectedFilename = 'C:\Users\Nigel\Desktop\Test.jpg::'


2.)
ImageEnMView1.AppendImage(Path + IEM_Path_Index_Delimiter + '0');
causes
ImageEnMView1.SelectedFilename = 'C:\Users\Nigel\Desktop\Test.jpg::0'


Ale
xequte Posted - Feb 15 2022 : 14:25:19
Hi Ale

This is the correct method:

ImageEnMView1.AppendImage(Path + IEM_Path_Index_Delimiter + '0');

Can you tell me what problems is gives you?



Nigel
Xequte Software
www.imageen.com
aleatprog Posted - Feb 15 2022 : 13:44:49
Hi Nigel,

for the moment, I let the following function check and delete the Filename's '::' ending in order to proceed with development.

if RightStr(FileName, 2) = '::' then
  Delete(FileName, Length(FileName) - 1, 2);
Result := FileName;


Please, don't forget to let me know about the correct usage of IEM_Path_Index_Delimiter.

Ale
aleatprog Posted - Feb 15 2022 : 06:55:27
Hi Nigel,

how is the correct usage of IEM_Path_Index_Delimiter?

1.) ImageEnMView1.AppendImage(Path + IEM_Path_Index_Delimiter); //stores wrong Path adding '::' to the file name
2.) ImageEnMView1.AppendImage(Path + IEM_Path_Index_Delimiter + 0); //doesn't compile as 0 is integer
3.) ImageEnMView1.AppendImage(Path + IEM_Path_Index_Delimiter + '0'); //stores wrong Path adding '::0' to the file name

I need to use IEM_Path_Index_Delimiter in order to load only the first page/frame of the file obtaining the correct ImageEnMView1.SelectedFilename.

Ale
xequte Posted - Feb 15 2022 : 03:56:33
Hi Ale

It sounds like there is something else going on here.

Also, please note that IEM_Path_Index_Delimiter should always have an integer value after it.

Nigel
Xequte Software
www.imageen.com
aleatprog Posted - Feb 14 2022 : 07:07:02
Hi Nigel,

unfortunately, I'm not able to reproduce the error with a demo, although I now solved the issue in the original application.

Both, the original + demo application, load files from a folder using an iteration on a StringGrid which contains the file paths:

ImageEnMView1.AppendImage(StringGrid1.Cells[0, i] + IEM_Path_Index_Delimiter);

Meanwhile this line works in the demo, it generates the error in the original app. The error disappears in the original app if I run the line without IEM_Path_Index_Delimiter:

ImageEnMView1.AppendImage(StringGrid1.Cells[0, i]);

I got no idea why in the original app the loading parameter of an ImageEnMView in VCL1 infuences a thumbnail of an ImageEnMView in VCL2 opened in modal mode. The thumbnail error happens also if the file path of the file loaded in modal is hardcoded in VCL2, thus without interacting with the StringGrid or opening the PDF file initially loaded in ImageEnMView in VCL1.

Thus the parameter IEM_Path_Index_Delimiter works in the demo, the malfunction isn't caused by the parameter itself.

Ale
aleatprog Posted - Feb 14 2022 : 03:55:44
Good morning, Nigel,

things become even more frustrating. The demo I prepared for you using the TImageEnView and TImageEnMView component's default parameters works.

Seems that I have to face the problem by checking parameters and variables one by one. Uhhh ...

Ale
xequte Posted - Feb 13 2022 : 17:42:56
Hi

Are you able to send me a simple demo that shows the issue?

Nigel
Xequte Software
www.imageen.com