python - 如何使用python生成图像?
问题描述
PIL、numpy、matplotlib 或任何其他数据可视化库如何创建图形和视觉效果?后台发生了什么?我们能否在不导入数据可视化库的情况下,使用 python 中的内置库生成视觉效果(可能像一个圆圈一样简单)。如果是这样,那将是什么代码?
这些数据可视化库是否使用低级编程语言来创建视觉效果?
解决方案
我对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
推荐阅读
- python - 垃圾收集 - 标记+扫描是否必须是整体/原子的
- wordpress - 致命错误:不在对象上下文中使用 $this - Dokan Wordpress 插件
- java - POST 时出现内部服务器错误。弹簧靴
- haskell - Identity Monad - Haskell 中的行为差异?
- php - 我不能在类方法中使用属性
- laravel - 在 Laravel 中间件中设置全局变量/文本方向
- sql - 我需要加入 2 个数据库,每个数据库有 2 个表
- python - ImportError:没有名为“助手”的模块
- r - 如何清理此数据框以使用 ggplot 绘制箱线图?
- python - 扩展类型中的 cython 导入