爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6996|回复: 5

[已解决] 转:如何保存IDL绘制的图像或图形

[复制链接]

新浪微博达人勋

发表于 2011-7-9 13:09:45 | 显示全部楼层 |阅读模式

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

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

x
;保存为图像文件
;windowID-图像显示窗体ID
;windowDims-图像显示窗体大小
;imageFile-保存结果文件名
;type - 保存文件类型,默认为jpg
;     1:JPG;  2:bmp;  3:tiff
PRO SAVEDIFFERENTIMAGE, windowID,windowDims, imageFile,type=type
  ;置顶为当前显示
  WSET,windowID
  ;拷屏操作
  data = TVRD(0,0,windowDims[0],windowDims[1],/true)
  CASE type OF
    1: WRITE_JPEG, imageFile, data,/true, quality=100
    2: WRITE_BMP,imageFIle,data,/RGB
    3: WRITE_TIFF,imageFile, data,ORIENTATION =4
    ELSE:
  ENDCASE
  
END

;保存显示的图形
PRO TESTSAVEIMAGE
  winSize = [420,420]
  ;直接图形法
  data = DIST(400)
  ;灰度绘制显示
  DEVICE,decomposed =1
  WINDOW,1,xsize = winSize[0],ysize = winSize[1]
  TV,data
  ;直接保存为jpeg
  SAVEDIFFERENTIMAGE,1,winSize, 'c:\temp\1.jpg',/type
  ;直接保存为tiff
  SAVEDIFFERENTIMAGE,1,winSize, 'c:\temp\1.bmp',type =2
  ;直接保存为bmp
  SAVEDIFFERENTIMAGE,1,winSize, 'c:\temp\1.tif',type =3
  
  ;伪彩色显示
  DEVICE,decomposed =0
  LOADCT,5
  WINDOW,2,xsize = winSize[0],ysize = winSize[1]
  TV,data
  ;直接保存为jpeg
  SAVEDIFFERENTIMAGE,2,winSize, 'c:\temp\2.jpg',/type
  ;直接保存为tiff
  SAVEDIFFERENTIMAGE,2,winSize, 'c:\temp\2.bmp',type =2
  ;直接保存为bmp
  SAVEDIFFERENTIMAGE,2,winSize, 'c:\temp\2.tif',type =3
  
  ;对象图形法-灰度图像
  oWindow = OBJ_NEW('IDLgrWindow',dimension = winSize,$
    title ='灰度图像')
  oView = OBJ_NEW('IDLgrView',viewPlane_Rect = [0,0,winSize])
  oModel= OBJ_NEW('IDLgrModel')
  oImage= OBJ_NEW('IDLgrImage',DIST(400))
  ;层次体系与绘制
  oModel->ADD,oImage
  oView->ADD,oModel
  oWindow->SETPROPERTY, graphics_tree = oView
  oWindow->DRAW
  ;
  oPrint = oWindow.READ()
  oPrint->GETPROPERTY, data = data
  HELP,data
  ;后面保存不写了,与SAVEDIFFERENTIMAGE中tvrd后结果一样;
  
  ;对象图形法-伪彩色图像
  oWindow1 = OBJ_NEW('IDLgrWindow',dimension = winSize,$
    title ='伪彩色图像')
  oView1 = OBJ_NEW('IDLgrView',viewPlane_Rect = [0,0,winSize])
  oModel1= OBJ_NEW('IDLgrModel')
  ;颜色表
  oPalette =  OBJ_NEW('IDLgrPalette')
  oPalette.LOADCT,5
  oImage1= OBJ_NEW('IDLgrImage',DIST(400),PALETTE = oPalette)
  ;层次体系与绘制
  oModel1->ADD,oImage1
  oView1->ADD,oModel1
  oWindow1->SETPROPERTY, graphics_tree = oView1
  oWindow1->DRAW
  ;
  oPrint = oWindow.READ()
  oPrint->GETPROPERTY, data = data
  HELP,data
;后面保存不写了,与SAVEDIFFERENTIMAGE中tvrd后结果一样;
  
END

原网址:http://hi.baidu.com/dyqwrp/blog/item/0eb8fa89af1e5aaa0f2444ba.html
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-7-9 13:42:27 | 显示全部楼层
呵呵  把好的文章就集中起来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-10 12:35:33 | 显示全部楼层
:):):):):)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-12-1 10:47:01 | 显示全部楼层
一般大家保存图片都是保存到哪种格式的呀?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-3-1 19:33:51 | 显示全部楼层
不错的资料
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-7 20:01:31 | 显示全部楼层
我表示我的道行实在太添,看不懂~~
IDL处理后的图像可以保存成JPG格式的吗?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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