Author |
Topic |
|
zerob
161 Posts |
Posted - Oct 02 2024 : 09:50:37
|
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
|
This artifact is also there on save files
|
|
|
zerob
161 Posts |
Posted - Oct 03 2024 : 21:38:53
|
This PNG is transparent. You see the full square when there is no white browser background... |
|
|
xequte
38610 Posts |
Posted - Oct 03 2024 : 23:12:52
|
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
|
|
|
zerob
161 Posts |
Posted - Oct 04 2024 : 01:55:14
|
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; |
|
|
xequte
38610 Posts |
Posted - Oct 06 2024 : 21:07:20
|
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
|
|
|
zerob
161 Posts |
Posted - Oct 07 2024 : 05:43:44
|
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... |
|
|
xequte
38610 Posts |
Posted - Oct 07 2024 : 20:30:38
|
Thank you, we have found the issue and I've sent you an updated beta.
Nigel Xequte Software www.imageen.com
|
|
|
|
Topic |
|
|
|