python制作照片_Python-制作抖音图片

-------------------------------------------------------------------------------------------------------------二更-------------------------------------------------------------------------------------------------------------

灵光一闪,这么简单的东西为什么我蠢了???

request.urlretrieve(img_url, 'background.jpg')

当总结写的假的好么?

然后更改了一下,现在是可以

功能1:批量下载图片

功能2:转化为抖音图片(无论提交外链或者本地图片)

1 #!/usr/bin/env python

2 #-*- coding: utf-8 -*-

3 #@Time : 2018/11/15 19:40

4 #@Author : Empirefree

5 #@File : 2.py

6 #@Software: PyCharm Community Edition

7 importcopy8 importos9 importargparse10 importre11 importnumpy as np12 from urllib importrequest13 from PIL importImage14 importrequests15 from lxml importetree16

17 #显示下载数据块

18 defcbk(a,b,c):19 '''回调函数20 @a:已经下载的数据块21 @b:数据块的大小22 @c:远程文件的大小23 '''

24 per=100.0*a*b/c25 if per>100:26 per=100

27 print('%.2f%%' %per)28

29

30 defDownload():31 user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'

32 headers ={33 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}34 response = requests.get('http://www.ivsky.com/tupian/ziranfengguang/', headers=headers)35 #使用lxml解析网页

36 html =etree.HTML(response.text)37 img_urls = html.xpath('.//img/@src') #先找到所有的img

38

39 i =040 for img_url inimg_urls:41 request.urlretrieve(img_url, 'image' + str(i) + '.jpg', cbk)42 i += 1

43 print('已成功保存为/image[].jpg')44 print('下载完成!!!')45

46 defmain(imagepath):47 #将图片转换为三维数组

48 img =Image.open(imagepath)49 img_arr =np.array(img)50 #提取R

51 img_arr_r =copy.deepcopy(img_arr)52 img_arr_r[:, :, 1:3] =053 #提取GB

54 img_arr_gb =copy.deepcopy(img_arr)55 img_arr_gb[:, :, 0] =056 #创建画布并将图片错放开

57 img_r = Image.fromarray(img_arr_r).convert('RGBA')58 img_gb = Image.fromarray(img_arr_gb).convert('RGBA')59 canvas_r = Image.new('RGB', img.size, color=(0, 0, 0))60 canvas_gb = Image.new('RGB', img.size, color=(0, 0, 0))61 canvas_r.paste(img_r, (6, 6), img_r)62 canvas_gb.paste(img_gb, (0, 0), img_gb)63 img_douyin = Image.fromarray(np.array(canvas_gb) +np.array(canvas_r))64 img_douyin.save('douyin.jpg')65 img_douyin.show()66

67 defIsHttp(imagepath):68 if re.search('http', imagepath) !=None:69 return 1

70 else:71 return072

73 if __name__ == '__main__':74 #parser = argparse.ArgumentParser()

75 #parser.add_argument('-i', '--image', help='Image to be processed(give the file path).')

76 #args = parser.parse_args()

77 #main(args.image)

78 print('**************************************************************************')79 print('*****************!!!欢迎使用抖音图片加载助手!!!*************************')80 print('*****************作者:Empirefree *********************')81 print('*****************工具: Pycharm *********************')82 print('*****************时间: 2018/10/23 18:49 ********************')83 print('**************************************************************************')84 while(1):85 print('温馨提示(您目前文件路径为):',os.path.dirname(os.path.realpath(__file__)))86 fun = int(input('请输入您想选择的功能:[1]批量下载图片 [2]制作抖音图片\n'))87 if fun == 1:88 Download()89 else:90 imagepath = input('请输入您的图片路径:')91 ifIsHttp(imagepath):92 request.urlretrieve(imagepath, 'background.jpg') #下载图片

93 imagepath = os.path.abspath('background.jpg')94 main(imagepath)95 print('加载完毕.......')

抖音图片2.0

实验帮助:

文章末尾有免费源代码、图片和实现的exe供下载,本人博客www.empirefree.top

实现环境:

python3.6+pycharm(pip什么的自己看错误就可以搞出来了)

实现目标(如下所示):

实现效果:

代码分析:

1、将图片转换成三维数组,然后对于rgb()这三种颜色提取

2、Rgb(255, 0, 0) 和Rgb(0, 255, 255)位置改变一下()然后就会有像素错位的效果

1 canvas_r.paste(img_r, (6, 6), img_r)

3.然后单纯保存,显示图片即可

1 img_douyin.save('douyin.jpg') 2 img_douyin.show()

总结:读者有兴趣可以改变一下外链,我弄图片外链好像爬不下来,太弱了吧,思路就是提交图片外链,然后如果判断是外链就下载到本地,然后再利用本程序改变图片样例,这里你看到喜欢的图片想制作就都可以了,本程序只能搞本地有的图片,很难受,我好菜啊!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值