我想自学图形库并尝试用它们制作一些程序。我已经创建了一个小程序,将线条和形状定义为像素列表,但我找不到一种可以直接访问屏幕的方法,以便无需任何中间步骤就可以显示点。
我的意思是我不想使用任何预先构建的图形库,如gnome、cocoa等等。我通常使用Python编码,并且我的程序也使用Python,但我也可以编写和集成C模块。
我知道直接访问屏幕硬件会抛弃Python的多平台特性,但出于学习的目的,我忽略了这一点。那么:有没有办法在Python中直接访问硬件,如果有,是什么?
我想自学图形库并尝试用它们制作一些程序。我已经创建了一个小程序,将线条和形状定义为像素列表,但我找不到一种可以直接访问屏幕的方法,以便无需任何中间步骤就可以显示点。
我的意思是我不想使用任何预先构建的图形库,如gnome、cocoa等等。我通常使用Python编码,并且我的程序也使用Python,但我也可以编写和集成C模块。
我知道直接访问屏幕硬件会抛弃Python的多平台特性,但出于学习的目的,我忽略了这一点。那么:有没有办法在Python中直接访问硬件,如果有,是什么?
这是一个有点老的帖子,但我在思考同样的问题时偶然发现了它。
我曾经使用汇编语言编程。在那个年代,屏幕绘图只需要将一个值写入内存位置即可。该值打开或关闭像素并定义其颜色。
顺便说一下,“poke”这个术语来自于BASIC,而不是汇编语言。在汇编语言中,您必须将一个值写入数据寄存器,然后使用另一个命令告诉处理器将数据放在哪里,并指定一个地址寄存器,通常以十六进制形式表示!每种不同的处理器都有自己的汇编语言。但是代码运行速度非常快!
随着硬件的进步,我发现图形硬件编程变得越来越复杂。现在,定义一个像素远不止这些。图形子系统有它自己的处理器 - 或者处理器们 - 您需要学会与之交流。处理器不能仅仅将东西放在内存位置上。(我相信曾经有一段时间世界上最快的超级计算机是由图形芯片驱动的!)“Plonk”顺便说一下,不是BASIC命令。
抱歉,我偏离了话题。针对原帖的问题,我认为最好通过使用树莓派来理解图形绘制过程。它与Python兼容,非常适合该工作。其硬件有很好的文档记录,而且价格便宜、易于使用。
希望这能帮助到某些人,祝好运,M