Python优化图片实际操作技巧浅析

在一个网站中,会有很多图片来支持这个页面获得更好的用户体验。那么如何应用更好的方法来优化这些图片,获得更好的效果呢?今天我们就会为大家介绍一下Python优化图片的相关方法,以方便大家应用。#t#

专注于为中小企业提供网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业砚山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

对于网站中的一些关键的页面,多重缓存、静态化、程序代码优化……之外,为了提高用户打开页面的速度,图片是必须要优化的。

如何优化呢,其实手工优化也绝对是值得的,也是最好的方法,但是我写了一个小脚本,与其说这个脚本的作用是优化图片,

不如说是给出一个参考,就是经过图片优化,可以减少网页多大的体积。

那脚本是如何工作呢,原理简单,大致是找到所有要优化的文件,用Pil库另存到本目录下的bak文件夹中,这个文件夹要自己先建好哦。

然后统计文件大小,给出结果,所以说这个脚本是“安全”的。任你运行多次,不会真正会改图片,只会把同名文件生成到相应的bak文件中。

Python优化图片代码如下:

 
 
 
  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3. #Filenam: pic_smaller.py  
  4. #Author zhangyufeng_zz  
  5. import os, sys  
  6. import Image  
  7. error_log = ['']  
  8. size_count = 0 
  9. def get_new_one(pic):  
  10. global error_log  
  11. try:  
  12. im = Image.open(pic)  
  13. print pic, im.format, im.size, im.mode  
  14. # im.show()   
  15. if(im.format == 'JPEG'):  
  16. im.save("bak/" + pic)  
  17. finally:  
  18. error_log.append(pic)  
  19. def get_file_size_string(file1 , file2):  
  20. global error_log, size_count   
  21. if(not os.path.isfile(file1)) or (not os.path.isfile(file2)):  
  22. return 0  
  23. try:  
  24. f1 = os.path.getsize(file1)  
  25. f2 = os.path.getsize(file2)  
  26. size_count += f1 - f2  
  27. f = '%s \t-> \t%s\t%dKB*%dKB \t\t = \t %d KB'%(file1, 
    file2, f1/1024, f2/1024, (f1-f2)/1024)  
  28. print f  
  29. finally:  
  30. error_log.append('no')  
  31. # main  
  32. all = os.listdir('.')  
  33. pics = []  
  34. formats = ['jpg', 'png', 'JPG' , 'PNG']  
  35. for file in os.listdir('.'):  
  36. if os.path.isfile(file):  
  37. for fr in formats:  
  38. if file.find(fr) > 0:  
  39. pics.append(file)  
  40. for pic in pics:  
  41. get_new_one(pic)  
  42. get_file_size_string(pic , 'bak/' + pic)  
  43. print size_count/1024 , 'KB' 

Python优化图片代码很简单,而且只是利用了pil的默认图片质量,关于图片的质量,我还没找到调整的方法。

 
 
 
  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3. #Filenam: get_cnblogs.py  
  4. #Author zhangyufeng_zz  
  5. import os  
  6. import sys  
  7. import re  
  8. from urllib import urlopen  
  9. string = urlopen("http://www.cnblogs.com/AllBloggers.aspx").read()  
  10. #file_object = open('string.txt')  
  11. #--------------------------------------------------  
  12. # try:  
  13. # string = file_object.read()  
  14. # finally:  
  15. # file_object.close()  
  16. #--------------------------------------------------   
  17. usr_name = 'amboyna' 
  18. url = "http://www.cnblogs.com" 
  19. usr_length = len(usr_name)  
  20. i = string.count(usr_name)  
  21. r = string.find(usr_name)  
  22. usr_string = string[r - 60 : r + 50]  
  23. name_s = usr_string.find(usr_name + "/\">") + len(usr_name) + 3  
  24. name_e = usr_string.find(" ")  
  25. name = usr_string[name_s : name_e ]  
  26. small_s = usr_string.find('')  
  27. small_e = usr_string.find('. ')  
  28. no = usr_string[small_s + 7 : small_e]  
  29. http_s = usr_string.find(url)  
  30. http = usr_string[ http_s : http_s + len(url) + usr_length + 1 ]  
  31. print '\n'  
  32. print '----------------------------------'  
  33. print 'ID:\t' , usr_name  
  34. print 'NAME:\t' , name  
  35. print 'NO.:\t' , no  
  36. print 'URL:\t' , http  
  37. print '----------------------------------\n' 

把usr_name 改成你的用户名就成。以上就是我们为大家详细介绍的有关Python优化图片的方法。

当前文章:Python优化图片实际操作技巧浅析
当前链接:http://www.shufengxianlan.com/qtweb/news23/141773.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联