android app 开发中遇到的图片问题,我用convert命令解决

发布一下 0 0

分享一个我昨天遇到的问题。

我在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

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/64353.html