'da DC rengini düzgün şekilde ayarlamıyor Aşağıdaki koda sahibim ve DC'nin metin rengini değiştirmeye çalışıyorum. İnterneti araştırdım ve bunun için SetTextForeground'un kullanılması gerektiğini gördüm, ancak bir şekilde işe yaramayacağım.wx.SetTextForeground, wxPython
import wx
class GUI():
def __init__(self):
self.InitUI()
def InitUI(self):
self.window = wx.Frame(None, wx.ID_ANY, "Example Title")
textList = ['text1', 'text2']
for i in range(len(textList)):
bmp = wx.Image('images/step_background.png').Rescale(160, 40).ConvertToBitmap()
bmp = self.drawTextOverBitmap(bmp, textList[i])
control = wx.StaticBitmap(self.window, -1, bmp, (0, 30*i+20), size=(160,30))
self.window.Show()
def drawTextOverBitmap(self, bitmap, text='', color=(0, 0, 0)):
dc = wx.MemoryDC(bitmap)
dc.SetTextForeground(color)
w,h = dc.GetSize()
tw, th = dc.GetTextExtent(text)
dc.DrawText(text, (w - tw)/2, (h - th)/2) #display text in center
return bitmap
if __name__ == '__main__':
app = wx.App()
gui = GUI()
app.MainLoop()
Neyi yanlış yaptığım hakkında bir fikriniz var mı? Herhangi bir fikir için minnettar olurum.
Eğer
Kodunuz benim için çalışıyor. Görüntülerdeki metin1 ve metin2'yi görüntüler. –
Evet, metin iyi görünüyor ancak rengini değiştiremiyorum. Varsayılan olarak siyah olmalıdır (çünkü renk = (0, 0, 0)). –
Peki, sizin için hangi rengi _is_? Siyah her zamanki ön plan rengidir, bu yüzden muhtemelen başka bir şey olabileceğini görmekte çok fazla sorun yaşıyorum ... –