Interactive picture control/indicators

I am currently designing a front panel that draws a floor plan of an
instrument we are controling with LabVIEW.  The individual
components of the instrument are drawn into a picture indicator and
their colors change according to various different states (warnings,
interlocks, etc.)  I want to know if it is possible to use event
programming to make these drawings within the picture interactive
controls as well as indicators.  Can I reference an event to an
individual component in the picture indicator, or do I have to work
within the picture's coordinate system (the latter would be more
tedious and probably result in me re-thinking this approach).
Sorry for the cross posting, but I also posted a similar question on an old topic from 2003:
http://forums.ni.com/ni/board/message?board.id=170&message.id=58456

See this thread for all kinds of picture control usage.
http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=14

Similar Messages

  • 2D picture control doesn't refresh properly

    I have an application which displays a picture in a 2D picture indicator and draws a few rectangles and lines on top of the picture. 
    The locations of these lines change throughout the day, and the application is designed to run minimized and then provide a quick-look at various status items when it is restored by the user.
    While minimized however, the image does not appear to get updated, even though my code is updating it once per second. I can't actually tell what happens when it's minimized obviously, but the behavior persists for some time after the window is restored, and the state it is 'frozen' at is from the time it was minimized.
    There are other digital indicators on the front panel getting updated in the same 1Hz loop, so I know it is just the 2D picture indicator that's not working--i.e., something with LabVIEW or system related is causing the image not to refresh while it's minimized, and more importantly, for some time after the application is restored.
    Some things that will cause a successful refresh to the displayed image after I restore from the task bar to a stale display:
    Minimize again, then restore again (of the LabVIEW window)
    Probing the datapath on the BD for the final Draw Line output that connects to the indicator
    Waiting for awhile (15 seconds? 30 seconds?)
    I also tried setting the following property node with no effect: 
    VI > Panel > Defer Panel Updates > Set to False
    Another way to think about this would be to imagine a 2D picture control with an analog clock, where lines are drawn for minute and hour hands, and updated once per second.  This is not what I'm doing but the example is easy to understand.  When the application is restored from the taskbar, the clock appears frozen in time from the last time it was minimized.
    Same behavior running this in LV 2012 and 2013... I am looking for any other property nodes or refresh methods to force a refresh at 1Hz, regardless if the display is visible.  The display should be immediately up-to-date when the application is restored by the user.
    Solved!
    Go to Solution.

    You could try looking at the panel resize event (to recognize the restoring) and then force an update using one of the following methods (I have no idea if they will help):
    Set defer to T and only then to F.
    Set defer to T when minimizing.
    Set the FP window state to something else (hidden, minimized, etc.) and then to standard. This should ideally do the same thing you did with minimizing and restoring again.
    Use the window position property to place the window off the screen and then back in its original position.
    See if you can toggle the synch. updates property programmatically.
    Have a hidden control displayed over the picture control and then hide it.
    Try to take over the world!

  • PDA Mouse Down Event on Picture Control

    While using the Mouse Down Event on the Picture Control for LabVIEW 7.1 PocketPC PDA, I want to get the xy coordinates on where the user tapped on the pict control. Any ideas or workarounds?
    Robert

    Hello Robert �
    What do you mean by �outputting individual horizontal and vertical components�?
    In the LabVIEW PDA module (and this applies to PocketPC and PalmOS), clusters will not show up in the PDA�s screen. You can use clusters to group controls/indicators but when there is need of sending a new value/showing the value in the screen, the bundle and unbundled functions have to be used, so that you can have individual controls/indicators to pass a new value/see the value, respectively.
    So, from the Coords terminal in a Mouse Down/Up event, you need to unbundle the cluster and create individual indicators for each, the horizontal and vertical position.
    I am attaching an example to show you what I mean. For PalmOS, the same applies.
    H
    ope this helps and if I misunderstood your post, please let me know.
    Have a great day.
    S Vences
    Applications Engineer
    National Instruments
    Attachments:
    PPC_Picture_Events.vi ‏30 KB

  • How can I determine mouse position within a 2D picture control

    I have an application where I'd like the user to be able to interact with objects drawn in a 2D picture control using the mouse.  In order to do this, I need to translate between screen coordinates, which are passed with the mouse events, and coordinates in the 2D picture control.
    The problem I'm running into is that I can't find a way to determine the screen coordinate of the upper left hand corner of the 2D picture control's drawing/client area.  I tried using the picture control's "Position" property, but this results in an offset due to the difference between the upper left hand corner of the picture control (including the label, etc.) and the upper-left hand corner of the drawing area.  See attached VI.
    Does anybody know how to get the screen coordinate of the corner of the picture control's drawing area?
    Mark Moss
    Solved!
    Go to Solution.
    Attachments:
    2D Picture Mouse Test.vi ‏27 KB

  • Set 2d picture control image

    I'm making some palette installers for ease of distribution for some libraries I have written. I'm following the example VIs (search the example finder for "palette API").
    I'm having some frustration in setting the new palette icon; the icon constant is a 2d picture control but I can't find a way to drop my image into it, and I can't set it programatically as the 2d picture control VIs only allow me to draw shapes into it.
    - Cheers, Ed
    Solved!
    Go to Solution.

    In cases like this I often resort to using a transparent classic path as an overlay to catch dropped files.  If you do not plan on interacting with the picture control, it is quite easy.  Otherwise it is just a few more events to control visibility when the mouse enters the VI with the button pressed.
    Just run the VI and drag PNG, JPG, or BMP files to the picture control.
    Attachments:
    DragToPictureControl.vi ‏16 KB

  • FP.Get Image not working on a subVI if it has a picture control

    Download the attached (7.0).
    Open and save BOTH VIs in your own version. This is important, because it looks like if the VI is recompiled its FP is loaded into memory and the bug is not apparent.
    Run the VI. The indicators in the subVI are not updated the first time you run the VI.
    This happens in 8.6 as well and requires the subVI to have a picture control and to have its FP closed.
    One workaround is to use the first call? primitive and call the Open FP method (with the state set to hidden) when the VI starts running.
    Try to take over the world!
    Attachments:
    SubVI FP not updating.llb ‏30 KB

    Hey Tst,
    Thank you for the feedback.
    I tried the vi's you have attached here and it updated the first time I ran the Caller.vi.
    I must be doing something different from you.
    Aashish M
    Applications Engineer
    National Instruments
    http://www.ni.com/support/

  • Open pdf and display it in picture control or picture box in LV8.5

    Im trying to open a pdf in labview v8.5 and post it in a picture control or picture box (activeX). Any help would be appreciated. thanks.
    M

    mblu,
    Check out these Forums that seem to have figured out how to do this using ActiveX.
    PDF in labview front panel
    Displaying A PDF File on the Labview Front Panel
    Import a pdf document to an active x control
    Ben Sisney
    FlexRIO V&V Engineer
    National Instruments

  • Error--Control indicators not assigned to company code

    While creating PO in IDEAS following error is coming.
    "Control indicators not assigned to company code"
    Pl . suggest the remedy,
    Thanks a ton,
    Regards,
    NB

    Goto T code OKKP select your co.code on left side click on Activate components.
    in first tab " activate components" activate cost center ,  order mgmt, comm mgmt etc and save it.
    Reward if useful;
    Rgds
    GIrish Kavital

  • How do I apply a texture to an imported .stl file in 3D Picture Control?

    Hi, I'm trying to apply a 2D image as a texture to an imported .stl file in 3D picture control. It works fine if I'm using a standard shaped mesh created in LabVIEW, however is there a way in which a texture can be applied to an imported model that isn't a standard shape, in my case a balloon. I've attached the an image of the Sub vi where I apply the texture. The object just shows up as a flat colour. Do I need to define how the image is applied to the mesh due to it being a non-standard shape? If so, any pointers would be appreciated.
    Many thanks.
    Oh, I'm using LabVIEW 2009 SP1.
    Attachments:
    stl texture problem.jpg ‏60 KB

    Apologies, been trying all afternoon and then a couple of minutes after posting, I figured it out. Using a property node for the Scenemesh reference, I set the property TextureGenMode to Spherical and it appears to now display the texture on the mesh.

  • Loop delay when using two VI's with picture controls simultaneously

    Hey all,
    I have observed an odd behavior and I'm not quite sure why it happens. I have two VI's that are mapping GPS coordinates onto XY graphs that are displayed on top of picture controls. When the maps from both of the VI's are visible on screen the loops get delayed by as much as a second, but if you just cover the map portion with another window they go back to looping at twice a second as they should. It took me a little while to figure this part out, let me tell you. There are no computing limitations that should be affecting it since my CPU is only at 10-12% and have 4GB of RAM available. I checked the GPU too just in case and it was sitting at 3% usage, so no hold up there. Anyone have any experience with something like this happening to them? It has me stumped.
    I though it might have to do with how LabVIEW handled them, so I went ahead and made them into EXE's and tried it out with the same results.
    Thanks in advance for any help or suggestions,
    dnorman

    dnorman wrote:
    Is it possible to run the redraw of the picture tiles in parallel, on multiple cores, if they are going into the same control?
    I doubt it. Even if the picture control wasn't pretty old (and it is), I don't know of any mechanism which will give you this level of control.
    Here are potential options. I have no idea if they will help:
    Instead of building separate commands, process the data in such a way that you have a single raster image (i.e. a 2D array) to place into the control. I believe this should be faster.
    Use another type of display (such as a .NET indicator).
    Instead of using the XY graph, overlay the data directly onto the image (there should be some graph VIs in the picture palette which might help).
    Try defering panel updates before updating all the controls and undefering after. I don't think this will help, but it's probably the easiest change to make.
    Try to take over the world!

  • Interactive table control in Adobe forms

    Dear gurus,
      I am trying to create an interactive table control with header. The table control will have 10 rows, and I want the users to be able to enter values into the table.
    I created a new node with cardinality 0...n; and added attributes under it. The I dragged that onto my design view and made duplicate entries of the rows to get 10 rows under the header.
    Now the issues I am having are
    1) The table is not visible in preview Pdf; I tried to save and activate the form, but still appears to be invisible
    2) For some strange reason the table control in adobe forms is not as flexible as the one in webdynpro, where it is easier to bind the fields and send / recieve data from the interface.
    ~thanks and appreciate any comments.

    when your cardinality is 0..n you won't see it in preview mode.. you need to launch it from your dynpro & you will see it.
    Also, if you know you're going to have 10 rows all the time, why not make the cardinality 1...n?
    Nevertheless, I personallly wouldn't create the table in this method.
    I would create the table in Web dynpro, add a column called "SeqNo" or whatever and pre-populate that field with 1 - 10. When you drag/drop your table from your Data View, just rt-click that column and hide it so your users won't see that field.
    You'll have 10 rows displayed to the user each time and you won't worry about having to bind anything since it'll be done automagically.

  • Inserting a small graphics in a picture control

    Does any one have an example code for inserting a small graphics/8 bit bmp file (15x15) in a relatively large (240x360) 8 bit jpeg image at known location in LabVIEW using Picture Control? Thanks in advance.

    Hello,
    To read an image file (BMP, JPG, PNG) and put it into a picture control you can use the OpenG function "draw image from file", and then use the picture control property "Zoom" to fit it correctly.
    Here's an example :
    You can get OpenG functions from here.
    Hope this helps.
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"

  • Save content of picture control as .jpg into excel file?

    Is it possible to save the contents shown of a picture control as a jpeg file into an excel file along with other data? Is this possible without using ActiveX? If I have to use ActiveX how do I use this?
    Thanks

    Hello AndyBE,
    ActiveX is definitely going to be your best bet. I�ve attached an example that should meet your needs. Let me know if this works for you.
    Have a nice day!
    Robert Mortensen
    Applications Engineer
    National Instruments
    Robert Mortensen
    Software Engineer
    National Instruments
    Attachments:
    Picture_To_XL_(6i).vi ‏133 KB

  • How can I load a graphic in SOFFCONT1 into an SAP picture control?

    At my customer site, GOS attachments to PM notifications are stored in SOFFCONT1, so I can't use cl_bds_document_set to get a URL that I can pass to the load method of the SAP picture control.
    How can I load the actual graphic in SOFFCONT1 into an SAP picture control?
    Or do I have to configure IW22 so it stores in BDS content servers, not SOFFCONT1?
    If this is the case, how do configure IW22 so GOS knows to store attachments as BDS documents rather than in SOFFCONT1 ???
    Thanks
    djh

    This explains how to make sure your PC and bin documents are saved on your HTTP content server, instead of in the database:
    http://help.sap.com/saphelp_nw04/helpdata/en/c0/1aca5823ee11d3a2db00a0c943858e/content.htm

  • 3D Picture Control Orthographic View zoom - Camera Set up?

    I am trying to display two 3D picture controls.  One displays some objects in 3D (Auto Projection: Perspective, Camera Controller: Spherical).  This 3D image works great and I am having no problems with it.  The other Picture Contol is meant to simulate a 2D image of the 3D object, essentially a Plan View.  To do this I made a 3D picture control with a Orthographic view.  I set the camera to view from above (z-axis) and set the target to be positive y-axis. 
    I have attached an example vi (labview 2013 SP1) that creates some simple 3D objects and displays them in Perspective and Orthographic using the same Camera Position.  On initial start, the Orthographic image is zoomed in heavily. If I manually zoom it (Hold Shift button and mouse up or down), then the Orthographic image will set itself to the correct Camera position.  This is essentially the solution to my problem, but I can't assume the user will have the ability to manually zoom the image.  So I need to set it programmatically.
    If you manual adjust the view on either screen (rotate and zoom), then click the Set Camera button, both images will give a plan view, but only the Perspective Image will be at the correct camera zoom or distance.  The Orthographic stays at the last zoom distance.
    Is there any way to set the Camera distance for Orthographic projection programmatically?   I have tried starting with the 3D picture control as perspective, set the camera distance and then changing it to orthographic, but this still results in a zoomed orthographic image.  From the reading I have done, I think I am trying to the impossible.  Does any one have another suggestion to get the same result.  I have previously used the 2D picture functions to generate the image but found that method inefficient. 
    And suggestions would be great.
    Thanks
    Relec
    Attachments:
    3D_projection_Test.vi ‏38 KB

    Hi Relec,
    thank you (and Kudos) for that inspiring demo!
    Took me while to work it out, but I might have found something that could help us with the orthographic projection.
    Sometime back someone posted a way to collect the current Camera data. Sorry I lost the source. But here is my version as a Get3DCameraPosition.vi using the ModelViewMatrix.
    Unfortunatly this doesn't return the current Target and so a bit of guessing in the right Direction is necessary.
    I'm impressed you found a way to make the Shift-Drag Zoom-movement possible on the orthographic window.
    It seems a whole thread at http://forums.ni.com/t5/LabVIEW/3D-Picture-Control-Doesn-t-Zoom-in-Orthographic-Mode/td-p/1544460/page/2 wasn't able to find that out.
    In the meantime I've found a way using the ProjectionMatrix to create a zoom-effect which I build into your demo using the mouse wheel.
    All in all I've tried to translate camera movements from the perspective window in the ortho - assuming this is what you were after?!
    Again the missing target information doesn't make it quite right.
    Regs
      Jannis

Maybe you are looking for

  • HT201079 How do I use my store credit/vouchers as a purchasing point for my Children(family members) as opposed to my Credit Card in a  family sharing setup?

    I have a certain amount of store credit or vouchers available to me to use. I would like my Credit/vouchers to be used before it goes onto my credit card when my children or other family member purchase anything from the app store or itunes store. Ho

  • Please help: Nokia file open error

    Hi! I wrote an application. It's opening text files from resource directory. I use getClassAsResource or something like that..... The app. running excellent on every phone, only on Nokia doesn't works. Please help!! What's the different??? Thank you!

  • Which Graphics Card do I need for H520S

    I have a few questions for you lovely people out there and hope you can help. My son has asked me for a new Graphics card for his PC.(Not a xmas present) On an old post it was suggested that an Nvidia Geforce GT620 1Gb or an AMD Radeon HD7570 2Gb wer

  • Feedback - Microsoft Intellimouse

    Hi, I just installed Safari 3 Public Beta on Vista. I use a Microsoft IntelliMouse Explorer, a 5-button mouse. You can 'press' the scroll wheel to use it as button 3. With IE and Firefox, pressing mouse 3 allows you to scroll by pulling the whole mou

  • Show shaded rows in Finder

    After a recent update (it might have been to Mountain Lion 10.8.3 last week, I'm not sure), Finder came up and it had alternately shaded rows (shaded, then not shaded, then shaded, then not shaded and so on).  It reminded me of the old computer green