Karl Kobata wrote:
Will someone explain if the DC subclasses stores data as bmp or vector
graphics?
not a simple answer....
It seems that wx.MemoryDC specifically says graphics are stored it bitmap
form, but the others do not. So does this mean, wx.ClientDC, wx.PaintDC,
wx.PrinterDC, wx.ScreenDC, wx.WindowDC, and wx.GraphicsContext store
graphics in vector format?
No, it means that they don't store the graphics at all. They are renderers -- they render both vector and bitmap graphics to various devices in various ways. A wx.MemoryDC renders to a wx.Bitmap object (which then can store the result as a bitmap), the wx.clientDC, wx.PaintDC, wx.ScreenDC all render to the screen, and don't store anything themselves. The wx.PrinterDC renders to the printer device, and doesn't store anything.
a wx.GraphicsContext is a similar concept -- it is a rendering interface that can render to various different things. It is similar to a DC, except that it is newer and more sophisticated. It's a bit harder to use, can have poorer performance, but give additional capabilities, notably real alpha blending and anti-aliasing.
See:
http://wiki.wxpython.org/RecipesImagesAndGraphics?highlight=(graphics)
for some background.
-Chris
PS: FloatCanvas stores drawings as vector data and handles zooming, etc for you. It does its actual rendering with DCs, though it can optionally use GraphicsContext.
ยทยทยท
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov