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
 Possible problem with ImageEnView1.LayersMerge([])

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
jrpcguru Posted - Aug 10 2020 : 19:06:32
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.
8   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - Aug 19 2020 : 22:45:51
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
jrpcguru Posted - Aug 13 2020 : 16:08:28
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.
jrpcguru Posted - Aug 13 2020 : 16:02:46
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.
jrpcguru Posted - Aug 12 2020 : 20:00:08
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.
jrpcguru Posted - Aug 11 2020 : 20:15:12
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.
xequte Posted - Aug 11 2020 : 19:38:49
Hi JR

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



Nigel
Xequte Software
www.imageen.com
jrpcguru Posted - Aug 11 2020 : 15:06:21
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.
xequte Posted - Aug 11 2020 : 01:56:56
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