How is he keeping records if you don't save the file? Are you requiring that the user take a screen capture of the unsaved image?
I suggest doing something like the following:
Save image as a temporary PNG file
Use function: "Read PNG file.vi"
Connect image data to function: "Draw Flattened Pixmap.vi"
Display picture in a "new picture" indicator
For this application, the user just wants to capture a copy of what is on the scope screen for record-keeping
Isn't that what saving to a PNG is doing? I'm not seeing the need to put it in a picture control.
Sorry to jump in but have a related question. I created a subVI with this save screen function a while back, but the file sizes for either bmp or png formats using a Tek DPO4054 are large 2.25MB. It wasn't a big issue then but now we're capturing lots of data. Is there a way to reduce the file size capturing scrnshots programmatically? Tek SW Open Choice saves them into ~70KB which is very good.
I fully agree that you are not doing something right. The PNGs come in a lot smaller than BMP.
Make sure you set the format in the scope to output a PNG. I also recommend turning ON the Ink Saver (turns the black background to white).
Check out this post that I made for the commands that I use. Again, the PNGs should be way smaller than 1MB. The 70kB seems quite reasonable. If you are still having problems, upload your VI to see if we can find something wrong with it.
Here's the code I'm using, I'll try the commands shown on your examples.
One more thing is that screen shots saved using flash drive in the oscope are correct in size.
hi Gibson，I also face the same problem,but there is a little difference.I use Ethernet interface connect my scope to PC,my scope type is TDS3032,when using the same code as yours(just modify the connect interface thpe),but i didn't work.can you capture you screenshot with a Ethernet interface?
Check out my post here. I made that code specifically for the TDS3034 (same family as your TDS3032). My last project used Ethernet to communicate with the oscilloscope and it worked just find as is. To be safe, you could change the port to use "ETHER" instead of "GPIB".