gis系统常常要加载tiff,因为好多土地证书,各种文件都是扫描件,如果你是用as来写的前台,怎么加载呢,顺便说下用插件AlternaTIFF也是可以得不过浏览器加载这么多插件是不太好的。

首先TIFF格式不仅仅是一种格式,它有相当多的标准,我在github上找到的TestZaaIL是可以加载一部分tiff,但是我系统的就不行,我还跟作者聊过,他说最好的方法是用后台方式解析,c++之类写的库。我还去搞c++也醉了,但是我记得之前团队写过一个as3的tiff类库 测试代码如下

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="init()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[ import tiff.Tiff;
//这是一个flex工程
private var loader:URLLoader;
private var tiff_img:Tiff;
private var currentPageCount:int;
[Bindable] private var bitmap:Bitmap; private function init():void{ loader=new URLLoader(new URLRequest("cenfax_1245134002_519_0.tiff"));//读取图片
loader.dataFormat=URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE,onComplete); }
private function onComplete(e:Event):void{ var img:ByteArray=loader.data;
tiff_img=new Tiff;
tiff_img.read(img);//将图片数据传入,进行解码
showPage(0);//返回的是一个bitmapdata对象 }
//当按pre按钮
private function preClick():void{ showPage(currentPageCount-1); }
//当按next按钮
private function nextClick():void{ showPage(currentPageCount+1); }
//显示分页图片
private function showPage(num:int):void{ if(!(num>tiff_img.getPageCount()-1||num<0)){
bitmap=new Bitmap(tiff_img.getImage(num));
currentPageCount=num;
labelPage.text=num+1+"/"+tiff_img.getPageCount();
} }
]]>
</mx:Script>
<mx:Label id="labelPage" text="/" height="20" bottom="17" horizontalCenter="5"/>
<mx:Panel id="panel" layout="absolute" left="0" right="0" top="0" bottom="45">
<mx:Image id="image" source="{bitmap}">
</mx:Image>
</mx:Panel>
<mx:Button id="preBtn" label="Pre" left="122" bottom="10" click="preClick()"/>
<mx:Button id="nextBtn" label="Next" right="107" bottom="10" click="nextClick()"/>
</mx:Application>

具体源码下载http://files.cnblogs.com/files/haibalai/tifflib.rar 但是还是解决不了问题,tiff格式太广泛了,as想要还原所有解码还是麻烦,AlternaTIFF是一种不错解决方案了。

Flex 加载tiff的更多相关文章

  1. Flex 加载 wmf,svg

    最近做gis系统发现要在flex加载wmf图片.我记得flash的loader只能是png,gis,jpg.wmf格式居然是window出的,flash居然不支持我也是醉了,没办法,只能后台转格式,首 ...

  2. Flex加载google地图、百度地图以及天地图作底图

    一  Flex加载Google地图作底图 (1)帮助类GoogleLayer.as /* * 根据输入的地图类型加载Google地图(by chenyuming) */ package Layers ...

  3. Flex 加载pdf

    如果想要在flex加载pdf,虽然pdf格式是开源的,但是自己去解析太麻烦了,pdf还要分页之类的,现在网上各种文档上传可以在线看很多都是pdf,当然也有word,excel之类,其实很多都是转了sw ...

  4. mapboxgl加载tiff

    缘起 近期在项目中遇到这么一个需求,需要在地图上展示一组格网数据,格网大小为2m*2m,地图api用的mapboxgl.起初拿到这个需要感觉很easy,在地图上添加一个fill图层就好啦.把格网面数据 ...

  5. Flex 加载dwg

    之前写的几种格式不是专门gis格式,这次来说说加载dwg.首先dwg格式不同于dxf格式,虽然autocad都能加载进去,真正用的比较多的是dwg格式,反正测绘,国土规划部门都是,吐槽下,然而auto ...

  6. Flex 加载dxf

    因为已经写过加载dwg了,dxf应该不陌生,dxf是个开源格式,所以加载比较简单这里直接附上as的代码,但是真正使用场景还是比较少,dwg文件比较多 package widgetscadastre.S ...

  7. Flex 加载shp

    至于gis格式比较常见的shp是开源的,网上开源的as代码也很多 这个支持的shp算比较好的 源码在这边http://files.cnblogs.com/files/haibalai/shp.rar, ...

  8. flex 加载arcgis 的地图json

    var fs:FeatureSet=FeatureSet.fromJSON(JSONUtil.decode(e.result.toString())); for each(var gra:Graphi ...

  9. ARCGIS FLEX API加载google地图、百度地图、天地图(转)

    http://www.cnblogs.com/chenyuming507950417/ Flex加载google地图.百度地图以及天地图作底图 一  Flex加载Google地图作底图 (1)帮助类G ...

随机推荐

  1. 【Windows批处理II】类C语言的学习和思考

    0)@不显示该行 1)随时删除qq下所有gif文件(a.bat),只要能达到目的死循环也可以: @echo off \Tencent\AD\*.gif del C:\Progra~\Tencent\A ...

  2. SqlServer性能优化 手工性能收集动态管理视图(三)

    动态管理视图: 具体的实例语句:  --关于语句执行的基本情况 select * from sys.dm_exec_query_stats --动态管理函数  需要提供参数  select top 1 ...

  3. 从零开始学习Node.js例子二 文本提交与显示

    index.js var server = require("./server"); var router = require("./router"); var ...

  4. HDU 4777 Rabbit Kingdom (2013杭州赛区1008题,预处理,树状数组)

    Rabbit Kingdom Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  5. WCF终结点配置

    错误信息:已有针对 IP 终结点 127.0.0.1:8235 的侦听器.如果有其他应用程序已在侦听此终结点,或者,如果在服务主机中具有多个服务终结点,这些终结点具有相同的 IP 终结点但绑定配置不兼 ...

  6. B - 搬寝室

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  7. Day16_集合第二天

    1.LinkedList类(掌握) 1.特点 底层数据结构是链表,查询慢,增删快 线程不安全,效率高. LinkedList 成员方法 void addFirst(Object o) 添加 void ...

  8. EF学习笔记——通用增删改查方案

    http://blog.csdn.net/leftfist/article/details/25005307 我刚接触EF未久,还不知道它有什么强大之处,但看上去,EF提供了一般的增删改查功能.以往用 ...

  9. Docker SSH+NGHINX+MYSQL

    1.添加创建镜像的配置文件      vim Dockerfile      输入以下内容: FROM jdeathe/centos-sshMAINTAINER baxk"xxx@hongh ...

  10. fatal error: Invalid layout of preloaded class

    今天很奇怪,在java类中写一个单纯的main函数,打印一句话竟然出不来,后来各种资料找,终于知道解决的方法了,如下 错误截图: 解决方法: (1)选中你要运行的那个类,点击上方的project--p ...