gpt4 book ai didi

python - 使用MemoryDC时出现的问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:42 25 4
gpt4 key购买 nike

为什么我的代码将线条打印为灰色而不是黑色?

import wx

class MyFrame(wx.Frame):
def __init__(self,*args,**kwargs):
wx.Frame.__init__(self,*args,**kwargs)
self.panel=wx.Panel(self,-1,size=(1000,1000))
self.Bind(wx.EVT_PAINT, self.on_paint)
self.Bind(wx.EVT_SIZE, self.on_size)

self.bitmap=wx.EmptyBitmapRGBA(1000,1000,255,255,255,255)

dc=wx.MemoryDC()
dc.SelectObject(self.bitmap)
dc.SetPen(wx.Pen(wx.NamedColor("black"),10,wx.SOLID))
dc.DrawCircle(0,0,30)
dc.DrawLine(40,40,70,70)
dc.Destroy()

self.Show()

def on_size(self,e=None):
self.Refresh()

def on_paint(self,e=None):
dc=wx.PaintDC(self.panel)
dc.DrawBitmap(self.bitmap,0,0)
dc.Destroy()

if __name__=="__main__":
app=wx.PySimpleApp()
my_frame=MyFrame(parent=None,id=-1)
app.MainLoop()

最佳答案

除了框架/面板绘制问题之外,已经指出颜色问题是由于 32 位位图的 Alpha channel 造成的。

我记得读过使用 wx.GCDC 而不是 wx.DC

关于python - 使用MemoryDC时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/845071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com