1、图像的基本构成

1、图像的信息构成
像素数据
元数据属性
格式信息
文件信息

2、Java语言API
BufferedImage对象
ImageIO读写图像文件
Android中的Bitmap对象
BitmatFactory

3、代码演示
BufferedImage对象

package src;

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;

public class ImagePanel extends JComponent {
    private static final long serialVersionUID = 1L;

    private BufferedImage image;

    public ImagePanel(BufferedImage image) {
        this.image = image;
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
        if (image != null) {
            System.out.println("width:" + image.getWidth());
            System.out.println("heigth:" + image.getHeight());
            int pex = image.getRGB(10, 10);// 获取图像RGB的值
            System.out.println("p(10,10):" + pex);
            g2d.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null);
        }
    }

    public static void main(String[] args) {
        File f = new File("G:\\1518772218209.jpg");// 本地图片路径
        System.out.println(f.getPath());
        try {
            BufferedImage images = ImageIO.read(f); // 将图片转化为流对象
            JFrame frame = new JFrame();// java的一个窗口
            ImagePanel imp = new ImagePanel(images); // 将流对象注入进来
            frame.getContentPane().add(imp, BorderLayout.CENTER); // 窗口布局
            frame.setSize(600, 600); // 窗口大小
            frame.setTitle("演示"); // 窗口标题
            frame.setVisible(true);// 显示
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

Android中的Bitmap对象

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容