windows怎么将图片变为单色图片_如何去除NCL生成的png图片中的白边?

博客介绍了用NCL绘制png图片出现白边的问题,提出使用convert命令处理。先利用NCL生成ps或eps矢量图,再用convert命令转换为无白边的png图。还介绍了convert命令的安装方法及常用功能,如转换格式、改变大小、旋转等。

用NCL绘制png图片时,经常会在图片周围出现白边,比如下面这张图,小图EOF3下面出现了大片的空白,在将其贴到word文档中时,经常需要把下面的空白部分截掉才行。

f816a0924cc594e806fd06bf281e621d.png

那么有没有什么办法让图片在生成的时候就没有这些空白?在NCL语言中,可以设置res@gsnMaximize = True来使图片覆盖整个画布,同时使用下述命令控制画布大小:

   xwks = "png"
   xwks@wkHeight = 1024    ;数字需要自己反复调试
   xwks@wkWidth = 1024
   wks  = gsn_open_wks(xwks,filename)

这里画布的大小需要根据图片情况进行反复调试,极大地降低了效率,并且使得出图程序不具备普适性。这里我使用了convert命令对图片进行处理。具体的操作步骤为:

1、利用NCL生成ps或eps矢量图文件:out.eps

2、在sh/bash命令窗口中输入:convert -density 200 -trim out.eps out.png  (这里的200也可以是300、600,数字越大,图片像素越高)

用在上面那张图片上,出图效果如下:

aec080ce70c4d42ad4ee7f79a91d5363.png

一点白边都木有哟!

convert是Linux一个非常强大的可以进行图片编辑、转换图片格式的命令,它是ImageMagick的一部分,因此需要先安装ImageMagick才可使用。对于不同版本的Linux,ImageMagic的安装方法如下:

1、CentOS下安装:yum install ImageMagick

2、Ubuntu下安装:apt-get install ImageMagick

对于convert命令,常用的有以下几种:

1、转换图片格式:

  convert  xxx.jpg  xxx.png   将jpeg转成png文件 
  convert  xxx.gif   xxx.bmp  将gif转换成bmp图像 
  convert  xxx.tiff    xxx.pcx   将tiff转换成pcx图像

  convert *.jpg foo.pdf         把多张照片转化成pdf格式

2、改变图像的大小: convert -resize 1024x768  xxx.jpg   xxx1.jpg    将图像的像素改为1024*768,注意1024与768之间是小写字母x

  convert -sample 50%x50%  xxx.jpg  xxx1.jpg   将图像的缩减为原来的50%*50%

3、旋转图像: 
convert -rotate 270 sky.jpg sky-final.jpg      将图像顺时针旋转270度

4、使用-draw选项,在图像里添加文字: 
convert -fill black -pointsize 10 -font helvetica -draw 'text 30,50 "Sunshine" ‘  sun.jpg  sunshine.jpg 
在图像的(30,40)位置采用10磅的全黑Helvetica字体在sun.jpg图片上写上 Sunshine,并将新图片另存为sunshine.jpg

5、给图像添加边框:

convert -mattecolor "#000000" -frame 60x60 name.jpg re-name.png
这里,"#000000"是边框的颜色(黑色),边框的大小为60x60

也可以用该命令添加边框:convert -border 60x60 -bordercolor "#000000" name.jpg re-name.png

6、其他一些有趣的功能:

上下翻转:

convert -flip foo.png bar.png

左右翻转:

convert -flop foo.png bar.png

反色,形成底片的样子:

convert -negate foo.png bar.png

单色,把图片变为黑白颜色:

convert -monochrome foo.png bar.png

油画效果:

convert -paint 4 foo.png bar.png

将图片向右旋转一定角度:

convert -rotate 30 foo.png bar.png

将图片向左旋转一定角度:

convert -rotate -30 foo.png bar.png

漩涡,以图片的中心作为参照,把图片扭转,形成漩涡的效果:

convert -swirl 67 foo.png bar.png

凸起效果:
convert -raise 5x5 foo.png bar.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值