爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3061|回复: 3

[混合编程] IDL之图片白底透明化

[复制链接]

新浪微博达人勋

发表于 2019-1-24 15:25:52 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 15195775117 于 2019-1-24 16:10 编辑

平时工作中需要把png图贴进谷歌地球,但是以前有2个障碍:
1、IDL画出的图有白边,我后来用position=[0,0,1,1]将图撑满窗口解决了,设置axis_style=0使坐标轴消失;
2、IDL图有白底,该贴主要将已存的图进行二次处理,组成镂空状的png图。
(附件有原图和处理过的图)
<程序>
;该程序用于把一张图中纯白部分做成透明
pro trans_png
;待处理的图:
read_png,'C:\Users\Administrator\Desktop\飞鸽截图20181107143817.png',ima
;不论三层的jpg还是四层的png,只使用前三层rgb:
ima=ima[0:2,*,*]
sz=size(ima)
;新建一个文件用于输出png:
png=bytarr(4,sz[2],sz[3])
;把rgb前三层放入输出文件的前三层,
;第四层初始值0,后面检查前三层中不是纯白的都赋予255,纯白的保持全透明0
png[0:2,*,*]=ima
png[3,*,*]=0
;制作alpha层,初始值都是0
one=bytarr(sz[2],sz[3])
;rgb三层和是255*3就是本白/纯白,不是纯白的alpha值赋予255
t=total(ima,1);求和
p=where(t ne 255*3,count)
one[p]=255
;把alpha层赋给输出变量的第四层
png[3,*,*]=one
;输出png图:
write_png,'C:\Users\Administrator\Desktop\1.png',png
end

飞鸽截图20181107143817.png
1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-1-24 16:15:09 | 显示全部楼层
本帖最后由 15195775117 于 2019-1-24 16:17 编辑

<功能软件化>
附件中:1、rar文件是一楼的功能做成的软件;
2、软件的源代码pro文件。
打开exe的时候,会弹出文件选择窗口,
选好图后,软件会在图所在的目录生成out.png文件;支持jpg,jpeg,png3种格式(其他格式嫌费事没加)。


<番外>制作软件的时候发现,pro文件名不能有下划线,不然软件会出问题

transpng.pro

1.24 KB, 下载次数: 1, 下载积分: 金钱 -5

transpng.rar

32.24 MB, 下载次数: 2, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-1-26 15:03:07 | 显示全部楼层
http://blog.sina.com.cn/s/blog_764b1e9d0102zoii.html

                               
登录/注册后可看大图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-1-26 20:32:17 | 显示全部楼层
ybmy001 发表于 2019-1-26 15:03
http://blog.sina.com.cn/s/blog_764b1e9d0102zoii.html

这个我看过,怎么了?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表