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
 Possible problem with ImageEnView1.LayersMerge([])
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

jrpcguru

USA
266 Posts

Posted - Aug 10 2020 :  19:06:32  Show Profile  Reply
I have narrowed down this problem to ImageEnView1.LayersMerge([]);
Actually there are two problems:
1. LayersMerge seems to be incredibly slow with a single layer
2. On an 8 megapixel image and larger, if a single shape layer is drawn that covers a large part of the image, when LayersMerge is done, the image is damaged.

Before:
8.4 megapixel image, 24 bit. The black redaction has been flattened already.


I then draw a large shape layer like this:






When I use LayersMerge this is the result:





If I add a second layer, it merges properly. If I use a smaller image to start, it merges properly. If I keep the single layer to less than half the height of the image, it seems to work properly.

If I insert a single image layer, it merges promptly and without error. A large text layer also merges properly.

I'm using D10.3 with the latest version of ImageEn.
J.R.

xequte

38615 Posts

Posted - Aug 11 2020 :  01:56:56  Show Profile  Reply
Hi JR

I cannot reproduce that. Can you upload your image somewhere so I can use the exact steps as you.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

jrpcguru

USA
266 Posts

Posted - Aug 11 2020 :  15:06:21  Show Profile  Reply
https://www.zipshare.com/download/e2FyY2hpdmVJZDoxNDUxYjQyMS01ZTQxLTQ2ZDItODYyMi1kZjlkMGNmYWFhMGN9
This should be two photos, 12 megapixels, one before and one after trying to save the shape layer.

J.R.
Go to Top of Page

xequte

38615 Posts

Posted - Aug 11 2020 :  19:38:49  Show Profile  Reply
Hi JR

That works fine for me. What are the specs of your system?



Nigel
Xequte Software
www.imageen.com
Go to Top of Page

jrpcguru

USA
266 Posts

Posted - Aug 11 2020 :  20:15:12  Show Profile  Reply
I forgot to run this test with your demo program. That might help me narrow down if something else in my program is causing the problem. My system is a Thinkpad with 16 gig of ram, Intel Core i7-6700HQ MB cpu @2.60ghz Quad Core. Looking at the tech details I note NVIDIA Quadro M1000M 4GB. I will have to see if the system switches back and forth with Intel Graphics like my last Thinkpad - to save battery power. Theoretically it should be running the NVIDIA since I'm not running on battery. I'll run the demo test tomorrow and my program, with and without battery. Thanks.

J.R.
Go to Top of Page

jrpcguru

USA
266 Posts

Posted - Aug 12 2020 :  20:00:08  Show Profile  Reply
I confirmed that my ThinkPad has both Intel Graphics and the Nvidia graphics. In fact, this morning the Nvidia failed until I downloaded a driver update. However that isn't much help. Here are further observations:

I ran your demo program. Selected a shape layer and set it to a circle with line thickness of 20. The same defect happens.

I copied my program to my Lenova Yoga which just has Intel graphics. Same result.

My program stores the layer properties in a separate .INI file for each type of layer that I have designed. If the .INI is missing, it uses default values. Both with and without the .INI I get the same result.

attach/jrpcguru/2020812195144_ScanWithData.InsertCircle.zip
137.81 KB

I have attached an image of the demo program and also the layer properties in case that makes a difference. I'm guessing not since the result was the same with or without those properties and also with the demo program. The only unusual thing is the 20 pixel thickness of the line and the large size of the layer. Also, in the demo program, if I draw a second much smaller circle, it merges all correctly. I drew the same size circle in the demo program with only 10 line width and the same problem happened.

J.R.
Go to Top of Page

jrpcguru

USA
266 Posts

Posted - Aug 13 2020 :  16:02:46  Show Profile  Reply
Just a small addition. I used the demo program with two large circles and they merged properly though slowly. Apparently a single large circle is the only way to generate this behavior.

J.R.
Go to Top of Page

jrpcguru

USA
266 Posts

Posted - Aug 13 2020 :  16:08:28  Show Profile  Reply
I just used the demo program and tried to match the exact size of your circle. It worked properly. But when I made a larger circle, it failed.

J.R.
Go to Top of Page

xequte

38615 Posts

Posted - Aug 19 2020 :  22:45:51  Show Profile  Reply
Hi JR

I can reproduce this with a very large shape (around 8000x8000 pixels). It looks like we have special handling for two layers, which we do not use when merging >2 layers. We're looking into a more efficient way to handle this.



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