首页 > 解决方案 > 如何使用python生成图像?

问题描述

PIL、numpy、matplotlib 或任何其他数据可视化库如何创建图形和视觉效果?后台发生了什么?我们能否在不导入数据可视化库的情况下,使用 python 中的内置库生成视觉效果(可能像一个圆圈一样简单)。如果是这样,那将是什么代码?

这些数据可视化库是否使用低级编程语言来创建视觉效果?

标签: pythongraphicsvisualization

解决方案


我对Python语言不太了解,但我知道numpy,matplotlab库,我偶尔会使用它们。首先让我们看看图形工具是如何工作的。实际上计算机无法识别绿色,蓝色,白色等......他们只能知道数字。0 和 1。计算机包含许多运行操作系统和特殊任务的部件,例如,如果你想玩游戏,那么你必须得到一张显卡并将其连接到你的主板上。主板、显卡、其他电子产品元件只能知道电压电平,0 表示低电压电平,1 表示高电压电平。

If you understand how computer works basically then we can jump to how programming languages work.C , C++ , Python , Java or any other programming language do the same job actually.All of them reaches the machine  , tells something and machine do it's job.Some languages use virtual machine and can't reach the machine directly but it's not important for now.

让我们看看你的问题:程序员编写的图形库,它们有很多代码部分。例如,如果你想画一个圆,你可以使用 draw.circle(); 例如。但是在背景 draw.circle() 有很多代码部分。图像或图形是 3 维数组。第一个维度是长度 第二个维度是宽度,第三个维度是颜色。例如,如果你想创建一个黑线然后程序用 0xFFFF 值填充第一个数组(0xFFFF 定义 HTML 中的黑色)然后所有其他变为 0x0000(如果背景是白色)。

0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000

0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000

0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0000,0x0000,0x0000

0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000

0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000

在这里你可以明白我的意思。这张图说你有 9 x 5 像素 = 45 像素图,它在中间包含白色背景和黑线。一切基本上都是编程语言所做的。之后所有的事情都是增加像素的能力。

我们是否创建了一个不需要任何图形库的代码部分?我认为是的,这是可能的,但你如何处理很多。我认为这是浪费时间。

如果您愿意,可以通过链接分析 numpy 库: https ://github.com/numpy/numpy/tree/master/numpy


推荐阅读