java jai例子_java – 使用JAI将swing组件写入大型TIFF图像
我不得不加载并存储一个大的tiff(59392x40192px)与JAI.我的解决方案是:TiledImages.
我使用了TiledImage,因为我需要tile和subimages.
要使用TiledImage效率,您应该使用您喜欢的磁贴大小来构建它. JAI使用TileCache,因此当不需要时,整个Image都不会在内存中.
要在文件中编写TiledImage,请使用选项“writeTiled”(避免使用OutOfMemory,因为它逐个tile地写入):
public void storeImage(TiledImage img, String filepath) {
TIFFEncodeParam tep = new TIFFEncodeParam();
//important to avoid OutOfMemory
tep.setTileSize(256, 256);
tep.setWriteTiled(true);
//fast compression
tep.setCompression(TIFFEncodeParam.COMPRESSION_PACKBITS);
//write file
JAI.create("filestore", img, filepath, "TIFF", tep);
}
它适用于高达690mb(压缩)的图像,对于尚未测试的较大图像.
但是,如果你正在使用32位WinXP,你可能无法拥有更多的1280m HeapSpace大小,这仍然是Java VM的限制.
我的TiledImage是使用我的图像源数据中的IndexedColorModel构建的:
//here you create a ColorModel for your Image
ColorModel cm = source.createColorModel();
//then create a compatible SampleModel, with the tilesize
SampleModel sm = cm.createCompatibleSampleModel(tileWidth,tileHeight);
TiledImage image = new TiledImage(0, 0, imageWidth, imageHeight, 0, 0, sm, cm);
java jai例子_java – 使用JAI将swing组件写入大型TIFF图像相关推荐
- java jai例子_用JAI扩展Java的图像处理能力
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java的图像处理能力不断地在增长,但是将一个如PNG或者JPEG格式的文件写入磁盘或从磁盘读取这样的操作仍然是一种巫术.解决方案是使用Java Adva ...
- java jai例子_用JAI扩展Java的图像处理能力(转)
Java的图像处理能力不断地在增长,但是将一个如PNG或者JPEG格式的文件写入磁盘或从磁盘读取这样的操作仍然是一种巫术.解决方案是使用Java Advanced Imaging(JAI)API.JA ...
- java swt 双屏_Java中AWT、Swing与SWT三大GUI技术的原理与效率差异
看了一下对Java GUI讨论的帖子,所以写了一篇文章来阐述一下各种GUI技术的优劣. Java世界中,目前最知名的三大GUI库分别是: 1.AWT(Abstract Window Toolkit)抽 ...
- java代码例子_Java与C++两大语言比较
Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程 ...
- java awt 监视器_java – 停止所有Awt / Swing线程和监视器和东...
看看AWT Threading Issues,它解释了退出AWT应用程序的标准.您要关注的部分如下: Therefore, a stand-alone AWT application that wis ...
- java 泛型例子_java中的泛型的一些常见例子
/** * @author Rollen-Holt 使用泛型 */ class hello { hello(){ } public T getName(){ return name; } public ...
- java 序列化 例子_Java序列化和反序列化例子
下面是编程之家 jb51.cc 通过网络收集整理的代码片段.@H_502_1@ 编程之家小编现在分享给大家,也给大家做个参考.@H_502_1@ /** * 对象序列化与反序列化 * */ impor ...
- java protobuf 例子_java使用protobuf例子
Protobuf版本:2.5.0 最近研究Hadoop时,发现Hadoop的RPC使用到了Protobuf这个东西,于是就了解了这个 Protobuf Protobuf是google的一种数据交互格式 ...
- java初始化例子_Java 非静态初始化的例子
在继承关系中,静态初始化.非静态初始化和构造函数的执行顺序 public class ExA { static { System.out.println("父类--静态代码块"); ...
最新文章
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gtExtras包添加一个图,显示表中某一列中的数字、并自定义表格数据显示的主题格式、并自定义数值数据的格式(例如百分比)
- 分摊的意思_会计分摊是什么意思
- 神经网络的输出有方向吗?
- PAT 1038. 统计同成绩学生
- 改变元素属性方法_IMR:全球品牌如何结合本土文化元素以提高品牌评价 | 唧唧堂论文解析...
- security工作笔记007---spring security自定义AuthenticationProvider,验证规则
- aspdotnet部分资源
- Bailian2701 Bailian3864 POJ NOI0105-39 与7无关的数【进制】
- 启动和停止mysql服务器_MySQL服务器的启动与关闭方法
- Linux 下编译安装 PHP 5.6
- Linux下socket-文件传输
- python10进制2进制转换
- 电子邮件服务器怎样匿名转发功能,技巧:你为什么不能匿名发送电子邮件
- Android11 手动屏幕亮度调节流程代码追踪;
- n维向量,n维向量空间,n维向量空间的维数
- 水泥路面、桥梁基建、隧道裂痕裂缝检测数据集
- android x86_646,雷电模拟器4.0x86_64位版本即android 7.1 xposed安装
- MyCat 学习笔记 第十五篇 . 数据分片后的迁移验证
- 苹果计算机开机进入安全模式,iphone进入安全模式及退出安全模式的方法
- 《Designing and Training of A Dual CNN for Image Denoising》阅读笔记
热门文章
- linux命令 gedit,使用linux的gedit命令GNOME桌面的文本编辑器
- lammps教程:如何计算单个原子的体积
- 宁波三中机器人_宁波晚报
- 营养食谱小贴士:选择食物巧防职业病
- 在CentOS 5里使用 vault.centos.org 作为yum源
- 【IoT】高通 Camera 流程及调试步骤
- 未能解析引用的程序集......因为它对不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”中的 (转)...
- 安装ubuntu20.04, CUDA11.4, cnDNN, tensorflow, pytorch
- 【热门主题】约会大作战win7主题
- 信息收集8——masscan,nbtscan