Python base64 截图
Python screenshot to base64
下面是我截图的方式:
import wx
app = wx.App(False)
s = wx.ScreenDC()
w, h = s.Size.Get()
b = wx.EmptyBitmap(w, h)
m = wx.MemoryDCFromDC(s)
m.SelectObject(b)
m.Blit(0, 0, w, h, s, 0, 0)
m.SelectObject(wx.NullBitmap)
b.SaveFile("hey.png", wx.BITMAP_TYPE_PNG)
我不想将屏幕截图保存为图像文件"hey.png",我希望将其保存为 base64 字符串。
我的最终目的只是打印 base64 字符串,然后我想 手动将其放入 html 代码 ,此处:
<img src="data:image/png;base64,here" />
我该怎么做?提前致谢。
您必须以某种方式获取该文件的字节。这可以通过两种方式完成:
- 通过 wx API,如果可能的话(我对 API 很熟悉,但如果可能的话你应该可以查到它)
- 通过保存文件,读取文件,最后删除文件。
对于实际的编码,您可以使用内置的base64 API。请注意,我链接到 Python 2 wiki 而不是 Python 3 wiki,因为据我所知 wxPython 仅适用于 python 2.
下面是我截图的方式:
import wx
app = wx.App(False)
s = wx.ScreenDC()
w, h = s.Size.Get()
b = wx.EmptyBitmap(w, h)
m = wx.MemoryDCFromDC(s)
m.SelectObject(b)
m.Blit(0, 0, w, h, s, 0, 0)
m.SelectObject(wx.NullBitmap)
b.SaveFile("hey.png", wx.BITMAP_TYPE_PNG)
我不想将屏幕截图保存为图像文件"hey.png",我希望将其保存为 base64 字符串。
我的最终目的只是打印 base64 字符串,然后我想 手动将其放入 html 代码 ,此处:
<img src="data:image/png;base64,here" />
我该怎么做?提前致谢。
您必须以某种方式获取该文件的字节。这可以通过两种方式完成:
- 通过 wx API,如果可能的话(我对 API 很熟悉,但如果可能的话你应该可以查到它)
- 通过保存文件,读取文件,最后删除文件。
对于实际的编码,您可以使用内置的base64 API。请注意,我链接到 Python 2 wiki 而不是 Python 3 wiki,因为据我所知 wxPython 仅适用于 python 2.