2012-06-25 65 views
0

如何使用dc.Rectangle在名爲「bitmap_1」的wx.StaticBitmap圖像上繪製矩形?我有座標((754,483))必須繪製矩形的位置。如何在wxpython中的wx.StaticBitmap圖像上繪製矩形

dc.DrawRectangle(10,10,200,200)`這給出了一個錯誤

Traceback (most recent call last): 
    File "C:\Users\Foster\Documents\Roland\ims project\newtagging2.py", line 129, in OnImageMouseOver 
NameError: global name 'dc' is not defined 

回答

1

這個錯誤是因爲你還沒有定義什麼是DC。

你想看看wxMemoryDC

MemoryDC創建可用於將它傳遞給StaticBitmap這樣才吸引到內存

你會希望藉助bitmap_1位圖(而不是顯示)直流:

dc= wx.MemoryDC(bitmap_1) 
dc.DrawRectangle(10,10,200,200) 
dc.SelectObject(wx.NullBitmap) #This de-selects the bitmap 

This article也應該幫助你使用DC。

+0

感謝您的輸入,但我想繪製到名爲「bitmap_1」的StaticBitmap,它是一個圖像。基本上我創建照片查看器,並需要顯示標籤在圖像上的位置,我想通過顯示圖像中的對象/人物被標記的矩形來做到這一點。 – user1401950

+0

您仍然可以使用上述方法執行此操作,您可以在位圖上繪製,然後在「StaticBitmap」上調用SetBitmap來更新顯示。 – GP89