Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am trying to port over a large amount of code for drawing lines, bitmaps (with transparency), and text onto our map display. Originally it was done using Dynamic Display and IDynamicMap but that is no longer possible.

Could anyone tell me the right way to go about this without leveraging dynamic layers? I am completely confused... Sample code, links to tutorials, or advice would be greatly appreciated!

Sorry for asking such a vague question, but the methods I have tried (GraphicTracker) have not been successful and I am fairly green when it comes to the ArcGIS Engine API.

Thanks

share|improve this question
    
Does each line, bitmap and text have the same transparency, or will it be different? –  Kirk Kuykendall Jun 14 '11 at 21:00
    
Sorry, I should have been more clear, what I need is alpha-blended bitmaps. –  tbridge Jun 14 '11 at 21:15
    
I think you'll need to use GDI+ if you're wanting varying alpha levels. I did this a few years ago and it was a real pain, especially when updating the UI thread from a background worker. Have you considered Silverlight/WPF instead? It sure seems to support animation much better. –  Kirk Kuykendall Jun 14 '11 at 21:35
    
Not an option either at this point. If I were to use GDI+ how would I do that? Create a new layer and draw directly to IActiveView? –  tbridge Jun 14 '11 at 21:38
2  
I'd do it with a custom layer. In your draw method, the IDisplay's hDC can be used with GDI+, google returns a lot of GDI tutorials. I think the layer needs to be in its own display cache. –  Kirk Kuykendall Jun 14 '11 at 21:47

2 Answers 2

up vote 1 down vote accepted

Try doing this with a custom layer.

In your draw method, the IDisplay's hDC can be used with GDI+. Google returns a lot of GDI tutorials. I think the layer needs to be in its own display cache, which can be achieved by returning true for ILayer.Cached.

share|improve this answer

Why is it not possible? Graphic trackers can't handle motion. The Docs say to use DynamicDisplay.

This guy got around it but I couldn't figure out how to replicate his work. Sorry this is more of a comment but the comment system doesn't really handle links.

share|improve this answer
    
Graphic Trackers can handle motion. I have a sample with an animated graphic tracker. But it lacks support for alpha blended bitmaps. –  tbridge Jun 14 '11 at 21:16
    
@tbridge Does it flicker? When I implemented the example it flickered. –  patrick Jun 14 '11 at 21:17
    
No, it doesn't flicker. I have it updating at 20Hz using a WinForms Timer and that seems to work. –  tbridge Jun 14 '11 at 21:20
3  
Actually, as you type a comment, hit the "help" link, which will show how to use "mini-Markdown formatting" for links. –  Kirk Kuykendall Jun 14 '11 at 21:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.