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
 index position of the layer

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
Borut 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

11   L A T E S T    R E P L I E S    (Newest First)
Borut Posted - Feb 25 2023 : 14:12:19
Hi Nigel,
thanks for help,
it works.
Borut
xequte Posted - Feb 23 2023 : 22:15:19
Hi Borut

It would permanently change the image alpha, but you cause use:

ImageEnViewBaseH.CurrentLayer.Bitmap.AlphaFill( alpha[i] );

http://www.imageen.com/help/TIEBitmap.AlphaFill.html

Nigel
Xequte Software
www.imageen.com
Borut 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 Posted - Feb 22 2023 : 21:28:10
Hi Borut

You could add your own "Index", e.g. using the Tag property:

https://www.imageen.com/help/TIELayer.Tag.html


Nigel
Xequte Software
www.imageen.com
Borut 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 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 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 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 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
Borut 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
xequte 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