Python学习了一段时间的基础语法,的确感觉其语法的自由度很高,入门容易,但是并不友好。《Python编程从入门到实践》后半部分开始讲pygame来制作游戏,所描述的安装方式非常的简单:下载pygame;然后在cmd下输入命令:pip install pygame,安装完成。
我懵逼了。What?Pygame什么玩意?哪里下载?于是我搜索了一下,找到了pygame的官网 http://www.pygame.org/download.shtml ,里面最新的是这个:
但是下载下来以后,怎么敲命令都不行,折腾一个下午都没安装上去,总是错误,我都开始怀疑智商了,差一点就放弃了。找了很多安装文件之类的,都无法加载。到了晚上终于找到了http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame这个地址,里面才找到合用的pygame安装文件。
用最后一个文件装好pygame以后,简单试验了一下书中的历程,然后兴致勃勃又去安装Image。这个要先安装PIL?!又是搜索不到,最终还是在这个网址下面找到了Pillow
看第一句话才知道,Python 2下面用的是PIL,但是不支持Python 3,我用的是Python 3.7,所以要用Pillow。
Python的库实在是太混乱了,我已经晕了,不光说2.x和3.x不兼容、win32和win amd64不兼容我能理解以外,3.6、3.7都不兼容是什么鬼?下载3.6版本的Pillow就是装不上,也不说为什么。如果我们用VS,肯定会向下兼容,如果安装的库不合适,会自动提示,也会有官方的下载地址,甚至可以自动升级。而目前我所看到的python,仍然是一头雾水,安装错误一点提示都没有,完全需要运气去搜索猜测。到底能不能给我这样年纪大了的爱好者一条活路?!
为什么别人家安装是这样的吨吨吨下载安装完成:
而我是需要自己搜索、下载,自己敲命令自己判断是否安装成功?!怎么会这么复杂?
真是费了大功夫才把Image的库安装成功,并且写了一个简单的图像处理程序:
from PIL import Image
pil_im = Image.open("1.jpg")
im2 = pil_im #备份原始图像
w,h = pil_im.size #获取图像尺寸
pil_im = pil_im.resize((w+w,h)) #将图像尺寸横向拉长
box = (0, 0, w,h)
re = im2.crop(box)
pil_im.paste(re,box) #将原始图像放在左侧
box = (w, 0, w+w,h)
re = re.convert("L")
pil_im.paste(re,box) #将灰度图像放在右侧
pil_im.show()
输出的结果就是原始图像和灰度图像的对比,如下图,其实除了妹子很清纯以外,程序并不咋地:
而我十年前用BCB写的灰度图像转换用了多少行?如下,光一个灰度的函数就已经十几行了,还没算前面框架搭建,文件读取等函数,而在Python里面只用2行就可以实现,而且速度也快了不少,优势的确很明显。
void __fastcall TForm1::GrayTranClick(TObject *Sender)
{
Image1->Picture->Bitmap->Assign(Image1->Picture->Bitmap);
int red,green,blue;
int gray;
GetRgbp(Sender);
for(i = 1;i < x-1;i++)
{
for(j = 1;j < y-1;j++)
{
red = rgbp[j].r;
green = rgbp[j].g;
blue = rgbp[j].b;
gray = red/3+green/3+blue/3;
Bitmap->Canvas->Pixels[j] = RGB(gray,gray,gray);
}
}
Image1->Picture->Bitmap->Assign(Bitmap);
}
但是折腾了好几天的Python,作为一个单纯的爱好者来说,如果每次都是这么折腾的话,那我学习这个又能做什么?谁能指条明路出来?
作者: 忆轻狂, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-1384650.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
用户1724505 2019-6-10 17:48
curton 2019-5-19 12:25
allen_zhan_752827529 2019-5-18 17:45
用户3890309 2019-5-18 13:52
curton 2019-5-16 21:49
16245458_qq.com 2019-5-16 08:55