java设置图像dpi
来源:互联网 发布:淘宝客服日常工作内容 编辑:程序博客网 时间:2024/05/16 02:12
- private BufferedImage gridImage;
- ...
- private void saveGridImage(File output) throws IOException {
- output.delete();
- final String formatName = "png";
- for (Iterator<ImageWriter> iw = ImageIO.getImageWritersByFormatName(formatName); iw.hasNext();) {
- ImageWriter writer = iw.next();
- ImageWriteParam writeParam = writer.getDefaultWriteParam();
- ImageTypeSpecifier typeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB);
- IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, writeParam);
- if (metadata.isReadOnly() || !metadata.isStandardMetadataFormatSupported()) {
- continue;
- }
- setDPI(metadata);
- final ImageOutputStream stream = ImageIO.createImageOutputStream(output);
- try {
- writer.setOutput(stream);
- writer.write(metadata, new IIOImage(gridImage, null, metadata), writeParam);
- } finally {
- stream.close();
- }
- break;
- }
- }
- private void setDPI(IIOMetadata metadata) throws IIOInvalidTreeException {
- // for PMG, it's dots per millimeter
- double dotsPerMilli = 1.0 * DPI / 10 / INCH_2_CM;
- IIOMetadataNode horiz = new IIOMetadataNode("HorizontalPixelSize");
- horiz.setAttribute("value", Double.toString(dotsPerMilli));
- IIOMetadataNode vert = new IIOMetadataNode("VerticalPixelSize");
- vert.setAttribute("value", Double.toString(dotsPerMilli));
- IIOMetadataNode dim = new IIOMetadataNode("Dimension");
- dim.appendChild(horiz);
- dim.appendChild(vert);
- IIOMetadataNode root = new IIOMetadataNode("javax_imageio_1.0");
- root.appendChild(dim);
- metadata.mergeTree("javax_imageio_1.0", root);
- }
代码来源:http://stackoverflow.com/questions/321736/how-to-set-dpi-information-in-an-image
其中DPI就是你要设置的值,java中默认是72,如果需要打印图片,可能就要设置为300
INCH_2_CM表示1英寸等于多少厘米,这里就是2.54
0 0
- java设置图像dpi
- 用Java输出分辨率300dpi以上的TIFF图像
- 用Java输出分辨率300dpi以上的TIFF图像
- dpi值设置
- 获取系统的DPI设置
- CorelDraw二次开发,图像DPI分辨率算法
- 【C#/WPF】修改图像的DPI、Resolution
- DPI
- dpi
- DPI
- DPI
- DPI
- dpi
- 使用java修改图片DPI
- 系统DPI设置软件界面错乱
- 设置打印机的打印分辨率(DPI)
- 关于修改图像DPI的问题,生成缩略图程序优化
- matlab 保存高分辨率图像 dpi要在300以上
- xcode5 xcode6 xcode6.2beta网盘下载地址
- Java高精度打印
- 3Sum Closest
- web开发中关于中文乱码的解决方案
- 4Sum
- java设置图像dpi
- Unity3D【脚本】鼠标对摄像机的控制 - 点击鼠标,摄像机围绕圆心旋转(第三次修改)
- OC语法<4.7> Foundation框架中的-日期操作
- java 取整函数总结
- 最初的梦想
- android读取本地网页
- 使用github管理iOS分布式项目开发
- Letter Combinations of a Phone Number
- AForge.NET .NET2.0程序集无法在.net 4.0 中运行的解决方案