`

java处理图片

 
阅读更多

Java Advanced Imaging相关资料
API:  http://www.oracle.com/technetwork/java/jaifaq-138288.html?ssSourceSiteId=otncn#multipage

手册:http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/JAITOC.fm.html

Introduction to Java Advanced Imaging: http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Introduction.doc.html#47285

先关代码

 

import java.awt.Frame;
import java.awt.image.renderable.ParameterBlock;
import java.io.IOException;
import javax.media.jai.Interpolation;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import com.sun.media.jai.codec.FileSeekableStream;
import javax.media.jai.widget.ScrollingImagePanel;
/**
 * This program decodes an image file of any JAI supported
 * formats, such as GIF, JPEG, TIFF, BMP, PNM, PNG, into a
 * RenderedImage, scales the image by 2X with bilinear
 * interpolation, and then displays the result of the scale
 * operation.
 */
public class JAISampleProgram {
 
 String fileName = "C:\\Users\\hejian.DOMRST\\Desktop\\Booklet\\20111024_112457_0001.tiff";
    /** The main method. */
    public static void main(String[] args) {
        /* Validate input. */
        if (args.length != 1) {
            System.out.println("Usage: java JAISampleProgram " +
                               "input_image_filename");
            System.exit(-1);
        }
        /*
         * Create an input stream from the specified file name
         * to be used with the file decoding operator.
         */
        FileSeekableStream stream = null;
        try {
            stream = new FileSeekableStream(args[0]);
        } catch (IOException e) {
            e.printStackTrace();
            System.exit(0);
        }
        /* Create an operator to decode the image file. */
        RenderedOp image1 = JAI.create("stream", stream);
        /*
         * Create a standard bilinear interpolation object to be
         * used with the "scale" operator.
         */
        Interpolation interp = Interpolation.getInstance(
                                   Interpolation.INTERP_BILINEAR);
        /**
         * Stores the required input source and parameters in a
         * ParameterBlock to be sent to the operation registry,
         * and eventually to the "scale" operator.
         */
        ParameterBlock params = new ParameterBlock();
        params.addSource(image1);
        params.add(2.0F);         // x scale factor
        params.add(2.0F);         // y scale factor
        params.add(0.0F);         // x translate
        params.add(0.0F);         // y translate
        params.add(interp);       // interpolation method
        /* Create an operator to scale image1. */
        RenderedOp image2 = JAI.create("scale", params);
        /* Get the width and height of image2. */
        int width = image2.getWidth();
        int height = image2.getHeight();
        /* Attach image2 to a scrolling panel to be displayed. */
        ScrollingImagePanel panel = new ScrollingImagePanel(
                                        image2, width, height);
        /* Create a frame to contain the panel. */
        Frame window = new Frame("JAI Sample Program");
        window.add(panel);
        window.pack();
        window.show();
    }
}

 


import java.io.File;
import java.io.IOException;
import java.awt.Frame;
import java.awt.image.RenderedImage;
import javax.media.jai.widget.ScrollingImagePanel;
import javax.media.jai.NullOpImage;
import javax.media.jai.OpImage;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageCodec;

public class MultiPageRead extends Frame {

    ScrollingImagePanel panel;

    public MultiPageRead(String filename) throws IOException {

        setTitle("Multi page TIFF Reader");

        File file = new File(filename);
        SeekableStream s = new FileSeekableStream(file);

        TIFFDecodeParam param = null;

        ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param);

        System.out.println("Number of images in this TIFF: " +
                           dec.getNumPages());

        // Which of the multiple images in the TIFF file do we want to load
        // 0 refers to the first, 1 to the second and so on.
        int imageToLoad = 0;

        RenderedImage op =
            new NullOpImage(dec.decodeAsRenderedImage(imageToLoad),
                            null,
                            OpImage.OP_IO_BOUND,
                            null);

        // Display the original in a 800x800 scrolling window
        panel = new ScrollingImagePanel(op, 800, 800);
        add(panel);
    }

    public static void main(String [] args) {

        String filename = "C:\\Users\\hejian.DOMRST\\Desktop\\Booklet\\20111213133838620.tif";

        try {
            MultiPageRead window = new MultiPageRead(filename);
            window.pack();
            window.show();
        } catch (java.io.IOException ioe) {
            System.out.println(ioe);
        }
    }
}

  • lib.rar (1.6 MB)
  • 下载次数: 17
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java处理图片背景颜色的方法

    Java 处理图片背景颜色的方法 Java 处理图片背景颜色的方法是指利用 Java 语言来处理图片的背景颜色,例如将蓝底寸照批量转换为白底。这种方法可以批量处理大量图片,具有很高的实用价值。 title 中的“Java 处理...

    Java图像处理类库 Java Image Filters

    Java图像处理类库,如Java Image Filters,是Java平台上的一个重要工具,用于对数字图像进行各种操作和修改。这些类库通常包含了一系列的类和方法,可以实现图像的过滤、调整、裁剪、旋转、合成等多种功能,为开发者...

    JAVA处理图片 加文字水印以及灰色透明背景

    JAVA处理图片 加文字水印以及灰色透明背景,处理图片。

    java处理图片大小等比例缩放,自定义修改图片大小,截取,水印

    以上就是Java处理图片的一些核心知识点,具体应用时需要结合实际情况进行调整。在压缩包中的"java图片大小转换"文件中,很可能包含了实现这些功能的示例代码和使用说明,可以参考学习以加深理解。在实际开发中,我们...

    java处理图片代码

    总的来说,Java处理图片的能力相当强大,通过组合不同的API和算法,开发者可以实现各种复杂的图像处理需求。无论是简单的添加水印、裁剪图片,还是进行更高级的图像分析和编辑,Java都能提供相应的工具和库来支持。...

    java 处理图像的明暗度

    在Java编程语言中,处理图像的明暗度是一项常见的任务,尤其在图像处理、图形用户界面(GUI)应用或者游戏开发中。这个过程通常涉及到图像的色彩空间转换、亮度调整和对比度修改等技术。本文将深入探讨如何使用Java...

    JAVA基本数字图像处理

    在Java编程环境中,数字图像处理是一项重要的技术,广泛应用于图像分析、识别、增强等领域。"JAVA基本数字图像处理"这个项目旨在通过Java语言实现一系列基本的图像操作,以帮助开发者理解图像处理的基本原理并掌握其...

    java实现图像处理算法

    示例代码展示了如何使用Java的图像处理库来对图像进行灰度化处理。在代码中,我们使用javax.imageio.ImageIO类加载输入图像文件,并创建一个与输入图像具有相同尺寸和类型的输出图像。然后,我们遍历输入图像的每个...

    java 图像处理(模糊处理、锐化处理)

    在Java编程语言中,图像处理是一项重要的功能,可以用于创建、编辑或操作图像。本教程将探讨两个关键的图像处理技术:模糊处理和锐化处理。这些技术在图像分析、图像增强以及艺术创作中有着广泛的应用。 模糊处理是...

    java处理图片上传旋转问题,前台后台讲解特别明了。

    Java作为后端语言,处理这种情况时需要与前端协同工作,确保用户上传的图片能正确显示。本文将详细阐述如何在前后台解决图片旋转问题。 ### 前端处理 前端处理主要涉及到图片预览和上传前的旋转操作。当用户通过...

    java 图像处理资源 api

    ### Java 图像处理资源 API #### 一、Java 2D API Java 2D API 是一套用于高级二维图形和图像处理的类集合,它涵盖了线条、文本和图像在一个全面的模型之中。此 API 提供了对图像合成以及带有 Alpha 通道的图像...

    java高清处理图片

    ### Java高清处理图片:利用ImageMagick提升图片质量和效率 #### 背景与需求 在实际项目开发中,图片处理是一项常见的需求,包括但不限于图片的压缩、尺寸调整以及添加水印等操作。传统的Java库虽然能够实现这些...

    java图片处理

    文件内含java 处理图片大小等比例缩放,指定颜色改变颜色。根据不同图片设置阴影图片。

    java处理图片拼接和添加水印

    在Java编程语言中,处理图片拼接和添加水印是一项常见的任务,特别是在开发涉及图像处理的应用或服务时。本文将深入探讨如何使用Java实现这两个功能,包括必要的理论知识、使用到的库以及具体代码实现。 首先,让...

    java 图片处理工具类 java 图片处理工具类

    java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 ...

    图片处理程序JAVA源代码

    在Java中处理图片涉及到多个类库和概念,例如Java的`java.awt`和`javax.imageio`包。 【描述】中的“简单例子”可能包括了基本的图片读取、显示、保存等功能,这些是学习图像处理的起点。通过这个项目,初学者可以...

    abc.rar_java 水印_watermark java_图像处理_图像识别java

    `BufferedImage`类是Java处理图像的核心,它允许读取、写入和操作图像。常见的图像操作包括调整大小、裁剪、旋转、滤镜效果、颜色转换等。`ImageIO`类则用于读取和写入各种图像格式(如JPEG、PNG、GIF)。 2. **...

    Java处理图片(压缩,放大,缩小)

    Java thumbnailator 处理图片(压缩,放大,缩小)

    数字图像处理:JAVA语言实现

    《数字图像处理:JAVA语言实现》是一门涵盖了图像处理理论与实践的教程,它通过JAVA编程语言来讲解和实现各种图像处理技术。本教程旨在帮助学习者深入理解图像处理的基本概念,掌握用JAVA进行图像处理的方法,并能...

Global site tag (gtag.js) - Google Analytics