Author |
Topic |
|
Borut
15 Posts |
Posted - Feb 15 2023 : 13:41:55
|
Hi,
I am arranging a set of layers.
I am using (*for example) this line to put the 7th Layer in the set of 12 - in a random position between 0 to 11.
ImageEnViewBaseH->Layers[6]->LayerIndex=random(12); ImageEnViewBaseH->Update();
It seems that moving a layer to a different position somehow changes the positions among the other layers too. Do I have to do something else to preserve the order of the other layers, while moving just one layer somewhere in midst of them?
Thanks, Borut
|
|
xequte
38607 Posts |
Posted - Feb 15 2023 : 14:55:28
|
Hi Borut
Setting LayerIndex is the same as calling LayersArrange():
http://www.imageen.com/help/TImageEnView.LayersArrange.html
I would expect it to function as follows...
Base layer positions:
0: BG 1: L1 2: L2 3: L3 4: L4* 5: L5 6: L6 7: L7
Positions if Set L4 index to 2, which is same as LayersArrange(4, 2):
0: BG 1: L1 2: L4* 3: L2 4: L3 5: L5 6: L6 7: L7
Alternatively, these would be the positions if we had set L4 index to 6, which is same as LayersArrange(4, 6):
0: BG 1: L1 2: L2 3: L3 4: L5 5: L6 6: L4* 7: L7
Is that not what you are seeing?
Nigel Xequte Software www.imageen.com
|
|
|
Borut
15 Posts |
Posted - Feb 16 2023 : 01:14:40
|
Hello Nigel,
thanks for your answer. I will check your advice with LayersArrange() as soon as possible, and let you know. Thanks again, Borut
|
|
|
Borut
15 Posts |
Posted - Feb 18 2023 : 17:55:09
|
Hi Nigel,
LayersArrange() does it what you said. I found where is the problem, namely:
The particular layer is connected to his characteristic transparency alpha, (which is specifically changing over time ).
ImageEnViewBaseH->Layers[1]->Transparency= alpha[1]; .. .. .. ImageEnViewBaseH->Layers[7]->Transparency= alpha[7];
When I change the position of the layer8 with let's say LayersArrange(8,3),
it gets its new transparency value from alpha[3], and that results in strange behavior of images. Actually many layers go through this change, due to subsequent changes in their positions - after changing the initial one.
Is there a simple way to preserve the characteristics (transparency in my case) of the layers while changing their order in the set?
Thanks, Borut |
|
|
xequte
38607 Posts |
Posted - Feb 20 2023 : 00:20:33
|
Hi Borut
That should not be occurring. When you arrange layers then, *all* the properties of the layer should be moved too.
I cannot reproduce what you are seeing. Can you give me some specific steps to reproduce it?
Nigel Xequte Software www.imageen.com
|
|
|
Borut
15 Posts |
Posted - Feb 22 2023 : 02:05:16
|
Hello Nigel,
I have a set of layers and a set of values that represent the transparency of the particular layer. They are connected by: ImageEnViewBaseH->Layers[j]->Transparency= alpha[j]; The alpha[j] value for a particular layer gradually changes with time. So at the beginning for example the seventh layer shows transparency alpha[7] (some integer value, I keep track of these values, not to exceed 255 and for some other reasons): ImageEnViewBaseH->Layers[7]->Transparency= alpha[7]; I assume that in the moment of changing of position of the layer (let's say LayersArrange(7,3), the image in the seventh layer becomes the image in the third layer and correspondingly gets its new alpha value from alpha[3]: ImageEnViewBaseH->Layers[j]->Transparency= alpha[j]; actually means then ImageEnViewBaseH->Layers[7]->Transparency= alpha[3]; Since alpha[3] and alpha[7] differ in their value this results in a sudden change of the image.
Am I wrong?
Borut
P.S: If this is actually happening, the problem for me is also, that by moving a layer I lose track of the layer. If I want to reach a particular image (let's say the image7, which was in Layers[7] at the beginning) to do something with it, after a few repositions, it is hard to tell where it is...
|
|
|
xequte
38607 Posts |
Posted - Feb 22 2023 : 03:32:19
|
Hi Borut
It's hard for me to understand your usage here. Can you not just swap your alpha array items at the time you swap the layers?
If there is a bug here, and I cannot see one from what you are describing, please create a very simple demo that illustrates it and send it to me?
Nigel Xequte Software www.imageen.com
|
|
|
Borut
15 Posts |
Posted - Feb 22 2023 : 13:55:11
|
Hi Nigel,
I don't believe there is a bug, and I can swap the alpha array. Yet, the problem of losing the track of (let's say)image7 which originally stayed in ImageEnViewBaseH->Layers[7] remains. So whenever I want to change something with image7 (change hue for example) I can not do it, because I don't exactly know where it is.
I just thought, that maybe there is a sort of index ascribed to Layers[i], which would when changed - put a layer (together with alpha property) in a particular place among other layers. In that way swapping would not be necessary and image7 would be constantly connected to ImageEnViewBaseH->Layers[7].
Borut |
|
|
xequte
38607 Posts |
|
Borut
15 Posts |
Posted - Feb 23 2023 : 01:30:42
|
Hi Nigel,
Thanks, I will try it. Is there a way of changing the transparency of the bitmap inside a particular layer? Something like: ImageEnViewBaseH->CurrentLayer->Bitmap->Alpha=alpha[i]; In this case, the need for swapping etc....wouldn't be necessary, because I would be able to change the transparency of the image regardless of the position of the layer. Thanks again. Borut
|
|
|
xequte
38607 Posts |
|
Borut
15 Posts |
Posted - Feb 25 2023 : 14:12:19
|
Hi Nigel, thanks for help, it works. Borut |
|
|
|
Topic |
|
|
|