Christian (et. al.), I've got most of the pieces of the DirectShow version of my app figured out, but there is one thing that I am still confused about, that is dynamically updating the size of the DirectShow grabber frame. I see how this is accomplished in the example app, the DS video window is resized to match the size of the canvas. This effectively resizes the *window* image, but the actual frame (DirectShowSampleGrabber.Current) remains at the default size.
My app requires processing the grabber image *before* it gets displayed so I currently dynamically resize and move the DSVideoWindow "off screen" during the main window's "Resizing" and "Resized" events. In the graber NewFrame event I pass the Current [frame] to the main window for display. The problem is that the Current [frame] doesn't get resized with the video window. Using the QuickTime grabber class, all that was required was to re-initalize the QT frame buffer to the new window size, but this doesn't seem to be possible in DirectShow. I could process and scale the frame to match the new window size, but not only is that incredibly processor intensive, the frame has *already* been scaled for the (hidden) video window... Questions: 1. Is there some way to dynamically change the size of the DirectShowSampleGrabber.Current [frame]? 2. If not, what would be the most efficient method of accomplishing what I need to do? Here are some ideas: 1. Process and scale the Current [frame] manually before displaying it in the main canvas. This seems redundant since the DSVideoWindow already contains a "scaled" version. 2. If I am going to ignore the DSVideoWindow anyway, what is the most processor efficient way to deal with it? Setting its visibility to "False" doesn't seem to actually work. 3. One option would be to use the DSVideoWindow as it is intended, but this would require you exposing it's "Paint" event as well as exposing its contents in some standard format (Picture?) so that it could be modified before actually being displayed. I'm not sure if this is a possibility. I'd love to hear from anyone who has solved this problem... Cheers. -bill k _______________________________________________ Mbsplugins_monkeybreadsoftware.info mailing list [email protected] https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info
