이벤트에서 BufferedPaintDC를 사용하여 내 프로그램에서 circle/rect 등의 다른 모양을 만들었습니다. 이제 메뉴 옵션에서 saveas 버튼을 클릭하면 파일을 저장하려고합니다. 그 때문에 나는 memoryDC를 사용하고 bmp 파일로 내용을 저장합니다.wx 위젯 내용을 파일로 저장
데프 다른 이름으로 저장 (자체 이벤트) :
dlg = wx.FileDialog(self, "Choose a file", self.dirname, "", "*.*", \
wx.SAVE | wx.OVERWRITE_PROMPT)
if dlg.ShowModal() == wx.ID_OK: # user enters filename as something.bmp
self.show_bmp = wx.StaticBitmap(self)
w, h = self.GetClientSize()
draw_bmp = wx.EmptyBitmap(w, h)
c = wx.MemoryDC(draw_bmp)
c.SetBrush(wx.Brush('white'))
c.Clear()
c.SetPen(wx.Pen("purple", 15))
c.DrawRectangle(30,30,60,60) ### ??????####
myimage = self.show_bmp.GetBitmap()
self.filename=dlg.GetFilename()
name = os.path.join('C:\mad', self.filename)
myimage.SaveFile(name, wx.BITMAP_TYPE_JPEG)
self.filename=name
dlg.Destroy()
이제 내 문제는 어떻게 다음 이미지로 변환 할 수 있도록 내가는 "C"에 버퍼링 직류에 의해 그려진 일을 어떻게해야합니까? ? 내 질문에 분명히 희망. 당신이 "c"에 직사각형을 그리는 것을 볼 수 있듯이 그것은 이미지로 변환됩니다. 하지만 ONPaint에서 만든 도형을 얻고 싶습니다. 어떻게 추출합니까?
감사
hmmm 네가 원하는대로 "복제"했으면 좋겠어. 그래서 내가 구원을 수정할 수있다. 나중에 파일을 ..하지만 내가 스크린 샷을 찍으면 불가능 해. – Madhura
왜 안되니? 다시로드 할 수 있습니다 ... 또는 저장하지 마십시오 ... 메모리에 보관하십시오. 그것은 단지 데이터 일뿐입니다. 저는 두 사람 사이의 구별을 이해하지 못합니다. –
예. 그것을 구현하고 혼란을 없앨 것입니다. 고마워요 :) – Madhura