分享一个我昨天遇到的问题。
我在app中加载了很多图片。运行时直接报错,说是找不到图片。我直接R.drawable.xxx的怎么可能找不到呢?我去看了一眼图片大小,全是几十M的图片。我在一个页面加载了几十个。我想大概是因为图片太大了,所以加载不了。
于是我想到了图片压缩。网上找一找有没有批量压缩的软件吧。找到一些windows版本的,由于我是linux需要用wine来安装,折腾了一下,安装不上。
然后我突然想到,linux系统里有convert命令啊。我用这个命令就可以压缩图片了啊。
convert -sample 10%x10% in.png out.png
但是一张一张的压缩,太多的图片了,这太累人了。怎么办呢?写个脚本吧,循环一下就解决了。
##!/bin/bashfor img in `ls *.png`doconvert -sample 10%x10% $img m_$imgdone
于是我就很愉快地把图片压缩成功了。
convert 命令都能做什么呢?
转换图片类型:
###将jpeg转成png文件###convert xxx.jpg xxx.png
改变图片大小:
convert -resize 1024x768 xxx.jpg xxx1.jpg
旋转图片:
convert -resize 1024x768 xxx.jpg xxx1.jpg
在图片里面添加文字:
convert -fill black -pointsize 60 -font helvetica -draw 'text 10,80 "this is the words!" ‘ hello.jpg helloworld.jpg
批量图片格式转换:
for %f in (*.jpg) do convert “%f” “%~nf.png”
批量图片旋转:
for %f in (*.png) do convert “%f” -rotate 90 “%~nf_rotate.png”
批量图片压缩:
for %f in (*.png) do convert “%f” -sample 180×60 “%~nf_sample.png”
给图片加边框:
convert -raise 5×5 input.jpg output.jpg convert +raise 5×5 input.jpg output.jpg convert -bordercolor red -border 5×5 input.jpg output.jpg
高斯模糊:
convert -blur 80 aaa.jpg aaa.png
左右翻转:
convert -flip aaa.png bbb.png
反色形成底片的样子:
convert -flop aaa.png bbb.png
变为黑白:
convert -negate aaa.png bbb.png
加噪声:
convert -monochrome aaa.png bbb.png
油画效果:
convert -noise 3 aaa.png bbb.png
炭笔效果:
convert -charcoal 2 aaa.png bbb.png
散射毛玻璃效果:
convert -spread 40 aaa.png bbb.pngconvert -swirl 55 aaa.png bbb.pngconvert -raise 5x5 aaa.png bbb.png
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除