`
daxiaoli123
  • 浏览: 46714 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

将图片转换成二进制,然后再显示图片!

阅读更多
package com.jh.loginwindow;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Label;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.*;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

class TryBufferout extends JFrame{
public static byte[] imageToBytes(Image image, String format) {
BufferedImage bImage = new BufferedImage(image.getWidth(null),
image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics bg = bImage.getGraphics();
bg.drawImage(image, 0, 0, null);
bg.dispose();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
ImageIO.write(bImage, format, out);
} catch (IOException e) {
}
return out.toByteArray();
}
public static void main(String[] args) {
ImageIcon icon = new ImageIcon("D:\\QQ.png");
Image image = icon.getImage();
byte[] b=imageToBytes(image,"png");
Image imagee=bytesToImage(b);
TryBufferout t= new TryBufferout();
t.setSize(400,400);
ImageIcon imag=new ImageIcon();
imag.setImage(imagee);
System.out.println(imag);
t.add(new JLabel(imag));
t.setVisible(true);
}

public static Image bytesToImage(byte[] bytes) {
Image image = Toolkit.getDefaultToolkit().createImage(bytes);
try {
MediaTracker mt = new MediaTracker(new Label());
mt.addImage(image, 0);
mt.waitForAll();
} catch (InterruptedException e) {
}
return image;
}

}



下面也是经过自己的实践所写的代码
package com.jh.loginwindow;

import java.awt.Image;
import java.awt.Label;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.io.*;
import java.sql.*;

import javax.swing.ImageIcon;

public class PutImg extends SuperDao {
Statement stmt;
PreparedStatement pstmt = null;
public void putimg() {
String sql = "";
File file = new File("d:\\world.gif");
InputStream photoStream;
try {
photoStream = new FileInputStream(file);
    sql = "INSERT INTO testpictrue  (image) VALUES (?)";
pstmt = getConnection().prepareStatement(sql);
pstmt.setBinaryStream(1, photoStream, (int) file.length());
pstmt.executeUpdate();
pstmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public Image blobRead() throws Exception {
  FileOutputStream fos = null;
  InputStream is = null;
  byte[] Buffer = new byte[4096];
  try {
       pstmt = getConnection().prepareStatement("select image from testpictrue where id=?");
       pstmt.setInt(1, 1); // 传入要取的图片的ID
  ResultSet rs = pstmt.executeQuery();
  rs.next();
is = rs.getBinaryStream("image");
  byte[] b = new byte[is.available()];//声明
  is.read(Buffer);//将二进制输入流读入字节数组
  Image image= bytesToImage(Buffer);
 
return image;
  } catch (Exception e) {
  return null;
  } finally {
   // 关闭用到的资源

  }
}
   public  Image bytesToImage(byte[] bytes) {
Image image = Toolkit.getDefaultToolkit().createImage(bytes);
try {
MediaTracker mt = new MediaTracker(new Label());
mt.addImage(image, 0);
mt.waitForAll();
} catch (InterruptedException e) {
}
return image;
}

public static void main(String args[]) {
PutImg pi = new PutImg();
try {
Image image=pi.blobRead();
new TryBufferout(image);//在这个界面上显示
} catch (Exception e) {

e.printStackTrace();
}
}
}


















分享到:
评论

相关推荐

    如何将图片转换成二进制存储

    ### 如何将图片转换成二进制存储 在IT领域,特别是Web开发中,经常会遇到需要将图片存储到数据库的情况。通常来说,图片文件较大,不适合直接存储在数据库中,但有时为了方便检索或者实现某些特定功能(如在线查看...

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    在上面的代码中,我们首先使用FileStream和BinaryReader将图片转换成二进制数组,然后使用ADO.NET将其保存到数据库中。 四、从数据库中读取图片 在C#中,可以使用ADO.NET从数据库中读取图片。具体实现代码如下: `...

    将图片转换成16进制代码,同时也可将16进制代码转换成jpg图片

    标题提到的“将图片转换成16进制代码,同时也可将16进制代码转换成jpg图片”是一个涉及到图像处理和二进制数据理解的实用技术。以下是这个过程的详细解释。 1. **图片的二进制表示**: 图片本质上是由像素构成的,...

    图片二进制转换器

    如果是一个转换后的二进制文件,那么这表明已经完成了一次图片转换,用户可以直接将这个二进制文件应用于他们的单片机项目中。 总的来说,"图片二进制转换器"是一个非常实用的工具,对于从事单片机开发、嵌入式系统...

    图片的上传、缩放、转换为二进制流、以动态页面显示

    实现了对上传的图片进行缩放显示,并将图片转换为二进制流(将其保存到数据库中,及实现了将图片存储到数据库中),之后通过动态页面显示生产的图片,避免了上传图片显示的路径问题

    将图片转成二进制并生成Base64编码字符串,再将二进制转换成各种图片

    本文将深入探讨如何将图片转换为二进制格式,然后生成Base64编码字符串,以及如何将这些字符串重新转换回图片。这个过程在很多场景下都有应用,比如在网络上传输图片数据,或者在数据库中存储图片。 首先,我们需要...

    将图片存放进数据库(转换成二进制流)

    "将图片存放进数据库(转换成二进制流)"这个主题,就是关于如何将图像文件以二进制形式存储到数据库中,然后从数据库中读取并以流的形式展示出来。下面我们将深入探讨这一技术。 首先,我们需要理解什么是二进制流...

    二进制流与图片的相互转换

    同样地,在需要显示图片时,又需要将二进制流还原为图片。本文将详细介绍如何实现这一过程。 #### 一、图片转换为二进制流 首先,我们来看一下如何将一张图片转换为二进制流。这一过程主要涉及文件的读取和字节流...

    二进制流形式上传图片,然后前台显示图片示例(vs2005+sql2005)

    将图片转换为二进制流后,可以方便地在内存中操作,同时也利于存储到支持二进制数据的数据库字段中。 二、图片上传 在VS2005中,通常使用ASP.NET的FileUpload控件来实现用户选择和上传图片。这个控件允许用户在...

    图片转数组.rar,可以将图片转换成二进制数组

    c语言读取图片原理:通过文件流的方式读入到Byte的二进制数组中,之后,使用图像分析算法将图像显示到屏幕上,要将数e799bee5baa6e59b9ee7ad9431333363393564组中的值转换为像素。

    图像处理-图片转二进制工具

    标题中的“图像处理-图片转二进制工具”是指一个应用程序,它能够将图像文件转换成二进制数据格式。这种工具通常用于编程或Web开发,以便以更直接的方式处理和展示图片。图像数据在计算机中是以像素的颜色值表示的,...

    图片二进制转换,在将二进制转回图片

    图片二进制转换涉及到将图像文件转化为一系列的0和1(二进制数据),然后再将这些二进制数据还原成原来的图像。这个过程对于数据存储、传输以及加密等领域非常有用。下面我们将详细探讨这个过程。 一、图片与二进制...

    以二进制方式读取图片并显示出来,Delphi源代码.rar

    在提供的压缩包中,"读取图片为二进制显示出来"这个文件很可能包含了实现以上步骤的Delphi源代码。代码可能包括了自定义的函数或类,用于读取二进制数据并解析图片。具体实现可能会涉及低级的内存管理和位图操作,如...

    图片导入数据库、二进制数据转图片保存到硬盘

    做了一个将图片转换成二进制数据导入到数据库中,在将二进制数据取出来,显示到页面上,将二进制数据在生成图片保存到硬盘上。数据库中项目,还原一下,wen.config中数据库连接字符串修改一下。ImagesWriter.htm页面...

    C#二进制图片的存储或读取

    通过`MemoryStream`对象和ADO.NET,我们可以方便地将图片转换为二进制流,存入SQL Server数据库,再从数据库中读取出来还原为图片。这种方法广泛应用于各种需要存储图像数据的应用中,如Web应用程序、桌面应用等。

    二进制数据转换成图片

    ### 二进制数据转换成图片 在计算机科学领域,数据的存储与处理往往涉及到不同格式之间的转换。本文主要探讨如何将二进制数据转换为图片格式,这对于图像处理、数据库存储以及网络传输等场景具有重要意义。 #### ...

    图片存储到数据库保存二进制文件,并在DATAGRIDVIEW中显示出来

    1. **图片转换为二进制**: - 图片本质上是像素的数据集合,可以转换为二进制格式。在C#中,我们可以使用`System.Drawing.Image`类加载图片,然后使用`GetBytes()`方法将其转换为字节数组。 2. **数据库操作**: ...

    FastReport二进制流打印成图片

    3. **转换成图片**:有了二进制流后,我们需要将其转换为图像对象。在.NET中,可以使用`System.Drawing.Image`类的`FromStream()`方法来实现。传入包含二进制流的MemoryStream对象,即可创建一个Image对象。 4. **...

    图片转换工具及说明,用于图片与十六进制数转换

    在IT领域,图片转换工具是一种常见的实用程序,用于将图像文件格式从一种类型转换成另一种。在本案例中,我们关注的是一个特定的转换过程,即将图片文件转换为十六进制表示,这通常用于数据存储、编码或者在某些特定...

    图片存取(二进制)

    这种技术涉及将图片转换为二进制格式,以便更有效地存储和检索。下面我们将详细探讨这个主题。 首先,我们需要理解二进制数据的概念。在计算机中,所有信息都以二进制形式表示,即由0和1组成的数字序列。图片本质上...

Global site tag (gtag.js) - Google Analytics