hooovahh Posted January 18 Report Share Posted January 18 Crosspost Okay so I have a front panel, with some boolean controls on it. I want to get the image of that control, and I want to put that image on top of other images. The background color of the other images is controllable, so if I use the Get Image invoke node method on the control reference, and just set the background color to what the background is of the pane that the boolean is on, then it is convincing enough. But I am having issues when these boolean controls are in other controls. If it is in a Cluster for instance I need to get the image of the background of the cluster. Clusters can be transparent so I need to keep getting the owner controls until I find one that isn't transparent. For bonus points I can also use the Create Mask VI to mask out a color, and I can use the color of the background element to get an even cleaner image of my boolean control. This is all a pain but doable. The issue I have is when my boolean is in an array. My main goal is to just get the boolean control, with the alpha or specific colors masked out. But when it comes to having booleans in arrays that is an issue. Any suggestions? Attached is a demo of what I mean. Set the enum then run it. For the scalar we just get the pane color. For clusters we get the color, then if it is transparent, keep going up until we find a color, or find the pane. But how do I handle the array? Thanks. Boolean Get Image Testing.vi Quote Link to comment
ShaunR Posted January 19 Report Share Posted January 19 There is an "Element" property for arrays. You can get that then cast it to the element type. Then your other methods should work (recursion). Boolean Get Image Testing_sr.vi Quote Link to comment
hooovahh Posted January 22 Author Report Share Posted January 22 On 1/19/2024 at 3:38 PM, ShaunR said: There is an "Element" property for arrays. You can get that then cast it to the element type. Then your other methods should work (recursion). Thanks Shaun but this doesn't quite work like I wanted. Maybe I didn't explain it well I can be long winded. Using your method this is what I get: In this case I actually want the somewhat blue looking color since that is what the boolean is in. The method suggested on NI's forums seems to work but is clunky but works. It hides the array element, label, caption, and index, then gets the image of the array control. Then gets the color of the pixel at the center of the image. With the element hidden it just shows the background which is the color blue in this case. As for why, I also ended up answering that on the NI forums. It is because I wanted to improve the web controlling VI code I uploaded a while ago here. Boolean Get Image Testing_sr.vi Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.