上一篇我尝试使用了 pillow 库对 png 图片进行了压缩,效果不好.这次我换用 pngquant 来压缩.pngquant 是用于 PNG 图像有损压缩的命令行实用程序和库.压缩程序会显著减小文件大小(通常高达70%),并保持完全的alpha透明度.通过使用alpha通道将图像转换为更高效的8位PNG格式(通常比24/32位PNG文件小60-80%). pngquant 使用的算法主要是中值切割量化算法的改进版和 K-means 颜色校正.得到的图片颜色差异肉眼几乎无法察觉. 这是 png…
开发目的 我经常使用图片.公众号文章发文也好,还是生活中要使用素材.图片是一种比文字更加直观的载体.但是图片更加占用带宽,很多软件都对图片有大小限制.图片太大也会影响加载速度.我试过几款图片压缩工具,比如 tinypng 和 tinyjpg 非常好用,体验也非常棒.但是它存在几个局限的地方: 1, 每次不能超过 20 张图片,因为 tinypng 是一个 web 网站,一次上传太多势必影响速度和服务器压力: 2,不能控制压缩比例,这一点 compressjpeg.com 做的很好,可以对每一张图…
上一篇实现了图片的压缩函数.现在如果需要对图片进行压缩,可以调用实现的函数进行压缩: pngquant_compress('elephant.png', force=True, quality=20) 但是每次输入 python run_script.py 没有对应的参数传入, 还要去改脚本参数挺麻烦的.可以添加命令行的方式进行调用: python run_script.py elephant.png --force --quality 30 1. 使用 click python 的 click…
上一篇使用了 pngquant 图片压缩工具进行压缩,并通过 click 命令行工具构建了 picom 包.这篇的主要功能是实现图片上传. 图片上传功能的实现 通过 pngquant 压缩图片后,得到一个 -fs8.png 为后缀的图片.想要把图片上传到云端,只需要把这个文件通过 API 发送给图片存储服务商就可以了. 先实现 sm.ms 网站的图片上传.官方提供了 API 文档,照着文档传入参数就可以搞定,so easy. image.png 上传接口的参数说明: content-type 为…
我们在实际项目开发过程中,曾经遇到过一个需求,就是要开发一个对大量图片进行整理(删除掉一些不符合要求的图片).归类(根据格式进行分类,比如jpg格式.bmp格式等).压缩(因为有的图片很大很占空间,看能否在保证清晰可辨.尺寸适中的前提下,适当的压缩掉一部分空间)的小程序.这里只是重点分享一下如何对图片进行压缩. 我们也不是水平非常高的图像处理专家,但是实际项目中又有这个需求,作为普通的程序员应该如何满足这个要求呢? 很显然,最简单的思路就是适当的缩小原图的尺寸大小或者是适当的降低原图的质量要求,…
写在前面:从零开发一款自己的小程序UI组件库(一) 上节我们讲到初始化组件库模板.模板文件概述.模板上传npm以及npm包文件下载至本地并运用到项目.这节我们继续,内容主要有基础UI组件库的搭建(button组件的实例)以及如何在本地使用npm link调试npm包项目. 本节所用到的物料:mineui-weapp组件库v1.1.weapp-for-mineui程序v1.1 1.开发基础组件button 我们上节有提到,要开发组件库的话,需要在官方单组件模板的基础上,①修改tools目录下的co…
本系列文章对应游戏代码已开源 Sinuous game 上一节介绍了canvas的基础用法,了解了游戏开发所要用到的API.这篇文章开始,我将介绍怎么运用这些API来完成各种各样的游戏效果.这个过程更重要的是参透一些游戏开发的思路和想法,而不是仅仅知道怎么写代码来完成这个游戏. 先用一张图来了解一下整个游戏的构成. Map表示整个背景地图,作用很简单,就是渲染黑色背景.Player 表示玩家粒子,它尾巴中带有生命点,我们用Life类来表示.Enemy为红色的敌人粒子,因为技能粒子和Enemy粒子…
Android入门还是很简单的,看两本书,翻阅几篇文章,搭建了开发环境就算入门了.可是怎样开发一款完备的android应用呢,开发一款高端的android应用又需要那些知识呢,作者根据几年的开发经验做了一点总结,有不足之处也请读者补充. 一.网络开发技能 开发的应用肯定会联网,在移动互联网时代,单机应用会越来越少.如果我们开发的应用缺少与服务器的交互,内容上不会丰富,更有可能的是我们无法控制到应用,得不到用户及用户反馈.网络连接中用的最多的无非是Http或者Tcp.Android中http使用提…
代码地址如下:http://www.demodashi.com/demo/11212.html 前言 本案例已经开源!如果你想免费下载,可以访问我的Github,所有案例均在上面,只求给个star.当然愿意支付小小金额请我喝茶也行(大学穷狗-.-) 一.准备工作 使用Android Studio开发 微信和QQ第三方sdk,需要自行申请(这个简单) 本案例使用干活集中营提供的api,使用MVp+Material Design作为主体架构进行开发 体验完整功能,点击下载APK 二.程序实现 目录结…
系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间在深圳出差,胡吃海喝颓废了很久,不想每天下班刷抖音.打游戏虚度光阴,准备把之前做的一个小程序案例详细的介绍一下,从安装编译器开始重新开发复盘一遍,希望对初入小程序的你有所帮助. 扫码体验,先睹为快 可以扫描下微信小程序的二维码,体验一下开发完毕的效果: 源码地址: GitHub : https://…