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
 Grey ghost box on some rotations.
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

zerob

161 Posts

Posted - Oct 02 2024 :  09:50:37  Show Profile  Reply
Hi Nigel

Grey ghost box on some rotations.
When i do some layer rotations with my lines demo, do a LayersSaveMergedTo to a iebitmap,
on certain preconditions, a big grey square box is drawn over some layers.
If i alter the rotation degree again, all is perfect again, until a degree isn't liked anymore.
I send you also a link by mail.

zerob

161 Posts

Posted - Oct 03 2024 :  21:36:50  Show Profile  Reply
This artifact is also there on save files

Go to Top of Page

zerob

161 Posts

Posted - Oct 03 2024 :  21:38:53  Show Profile  Reply
This PNG is transparent.
You see the full square when there is no white browser background...
Go to Top of Page

xequte

38610 Posts

Posted - Oct 03 2024 :  23:12:52  Show Profile  Reply
Hmmm, I'm not able to reproduce that. I spent a good period twiddling with the rotation to no avail. Are you able to give me more precise steps?

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

zerob

161 Posts

Posted - Oct 04 2024 :  01:55:14  Show Profile  Reply
Hmm, i tried reproducing it with setting the rotation by a ImageEnLayerMView, but it didn't work.
As im one handed for months because of a broken arm, and the kids are around, i didn't try other new steps to reproduce or if one of the steps is not needed, but it happens all the times, while doing it like on the video:
1. Load my divider PSD
2. Zoom out my line demo
3. rotate both lines.
4. move closely so they overlap.
5. move the balls closely.
6. merge LayersSaveMergedTo
7. check debug visualizer or save to PNG to see it. it seems that the left line got turned into this large white square and moved to the right.

Optional remove and recreate that strange square after it appeared:
(8). change the right line rotation a bit. merge,,, square is gone, rotate again to a degree it doesnt like, square is back.

Im sending you a saved state that does export in my linedemo and always shows the white square without any changes. Im not sure what causes this, as it always is a hit or miss, but happens constantly. It doesn' seem to correleate to some exact angles, but maybe a hickup caused by overlapping or the alpha channel or maybe it doesn't like that i lock Y axis movement with:
procedure TForm1.ImageEnView1LayerMoveSize(Sender: TObject; layer: Integer;
event: TIELayerEvent; var PosX, PosY, Width, Height: Double);
begin
PosY := ImageEnView1.Layers[Layer].PosY; //forcedY
end;
Go to Top of Page

xequte

38610 Posts

Posted - Oct 06 2024 :  21:07:20  Show Profile  Reply
Hi

I'm still unable to reproduce this.

I tried many rotations like in your video and tried loading your state as follows:

  ImageEnView1.LoadState( 'D:\State.bin' );

  var bmp := TIEBitmap.create();
  bmp.ParamsEnabled := True;
  bmp.AlphaChannel;
  ImageEnView1.LayersSaveMergedTo( bmp, False );
  bmp.CropAlpha();
  bmp.Params.PNG_Compression := 9;
  bmp.SaveToFile('D:\out.png' );
  bmp.free;


Any other suggestions?

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

zerob

161 Posts

Posted - Oct 07 2024 :  05:43:44  Show Profile  Reply
Now i got it.
I have a new demo for you.
2 tabs, 2 imageenviews, 2 layermviews, 1 TOpenImageEnDialog.

If the 1 tab where the saving is done is visible, the square appears.
Of the second tab is active, then all saves well.

Dont forget to press both buttons every time, even after tab switch.
There has to be a second imageenview a second layermview and a single OpenImageEnDialog.
It is strange. pressing the load button with the first tab visible and save in the second, also messes up the result.
Pressing oth in the first, also.
Only when pressing both in the second tab, the result is ok.

It appears that internally either the imageen or layermview mess something up or share something in between the instances?
It doesnt appear when the first tab with both components isn't active.
I also found out while typing this text, that simply setting imageenview1 to invisible, fixes the problem also...
I mail it to you...
Go to Top of Page

xequte

38610 Posts

Posted - Oct 07 2024 :  20:30:38  Show Profile  Reply
Thank you, we have found the issue and I've sent you an updated beta.


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