package util;
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.ByteArrayOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* 这个工具类用于向数据库存入图片,以及从数据库得到图片。
*/
public class DatabaseRead_GetImage {
/**
* 转换Image数据为byte数组
*
* @param image
* Image对象
* @param format
* image格式字符串.如 "jpeg ", "png "
* @return byte数组
*/
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) {
e.printStackTrace();
}
return out.toByteArray();
}
/**
* 转换byte数组为Image
*
* @param bytes
* Image的bytes数据数组
* @return Image
*/
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) {
e.printStackTrace();
}
return image;
}
}
分享到:
相关推荐
《Delphi7_myDBTreeView:数据库存取与增强功能解析》 在软件开发领域,数据库的管理和操作是不可或缺的一部分。Delphi7作为一个经典的集成开发环境(IDE),提供了丰富的组件库来帮助开发者处理数据库相关的任务。...
在Lotus Domino系统中,数据库存取控制列表(ACL)是管理用户访问权限的核心工具。它决定了用户对特定数据库的访问级别,确保了数据的安全性和私密性。本文将深入探讨ACL的结构、功能和各个存取级别的详细权限。 ...
在标题“利用数据库存取图片,从数据库读取显示出来”中提到的方法,意味着我们将直接把图片的数据存储在数据库内,而不是仅仅保存图片的文件路径。这种方法在某些场景下可能是必要的,例如,如果需要确保图片与相关...
标题与描述中的“漫谈Java数据库存取技术”聚焦于探讨Java领域中处理数据库存取的多种技术。本文将深入解析这些技术的核心概念、优势与局限性,以及它们如何适应不断变化的IT环境。 ### JDBC:Java数据库连接的基石...
本示例将探讨如何使用C#来处理图片的数据库存取,这对于创建图像管理应用、在线画廊或者任何需要存储和检索图像信息的系统至关重要。以下是关于这个主题的详细讲解。 一、数据库选择 在存取图片时,我们首先需要...
"Delphi下利用ADO技术实现对MS SQL Server数据库存取.pdf" 在本文档中,我们将介绍如何使用Delphi语言和ADO技术来实现对MS SQL Server数据库的存取。 标题:Delphi下利用ADO技术实现对MS SQL Server数据库存取 ...
在Delphi编程环境中,`TmyDBTreeView`是一种自定义的树形视图控件,它是对标准的`TTreeView`控件的功能扩展,特别针对数据库存取进行了增强。这个控件不仅具备基本的树结构展示功能,还支持对树节点进行增、删、改的...
本篇将详细介绍如何利用C#来实现数据库中的图像存取。 首先,我们需要了解数据库中存储图像的基本原理。通常,我们不会直接将图像文件存储为二进制文件,而是将其转换为二进制数据,然后存储在数据库的BLOB(Binary...
在IT行业中,串口通讯和数据库操作是两...综上所述,"vc 串口通讯 数据库存取"的示例程序涉及到串口通信技术的实现,包括设置串口参数、数据传输,以及数据库的连接、查询和操作,是实现设备监控和数据管理的有效工具。
在C#编程中,数据库存取文件和下载是常见的任务,尤其在开发Web应用程序或桌面应用时。数据库通常用于存储各种类型的数据,包括文本、图片、文档等非结构化数据。这里我们将深入探讨如何在C#中实现这些功能,主要...
本作业主要探讨了如何在Android Studio项目中实现图片的存取以及将图片存储到数据库中的技术。我们将围绕以下几点进行深入讨论: 1. **图片存储方式** 在Android中,图片可以存储在多种位置,如内部存储、外部存储...
以下将详细解释如何在PB9中进行数据库存取图片的操作。 首先,我们需要创建一个能够存储图片的数据库表。这个表通常会包含一个或多个字段,其中一个是BLOB类型的字段,例如“ImageData”。在SQL数据库(如MySQL、...
而在Java这个开放的世界里,数据库存取技术是五花八门,种类繁多。我们也来侃侃Java世界里主流的数据库存取技术。 首先列出英雄榜 1.JDBC直接访问数据库 2.EJB entity bean. 3.JDO技术。 4.第三方O/R工具,如...
总结来说,JDBC是Java开发人员连接和操作数据库的标准工具,其在WebGIS领域的应用有效地解决了异构数据库存取的问题,促进了WebGIS的灵活性和可扩展性。随着Java和WebGIS技术的发展,JDBC将继续发挥其核心作用,为...
这个压缩包“MySQL数据库存取例子代码.zip”显然包含了用于演示如何与MySQL数据库进行交互的代码示例。这些代码可能包括连接数据库、执行查询、处理结果集以及事务管理等方面的内容。 在使用MySQL数据库时,首先...
### Domino数据库存取控制列表(ACL)基本知识 ...通过上述详细介绍,我们可以看出Domino数据库存取控制列表(ACL)是实现数据库安全管理的强大工具。合理配置ACL不仅可以提高数据安全性,还能有效促进工作效率。
只需通过其提供的可视化界面,用户就能轻松浏览各种类型的数据库内容,极大地简化了数据库的存取过程。 该工具支持本地和远程的数据库在线访问,这对于开发者和管理员来说是一大福音。无论数据存储在哪里,都能快速...
SQL Server Profiler允许用户实时查看和记录数据库事件,包括T-SQL语句、存取路径和性能统计数据。Extended Events则是更轻量级、更灵活的跟踪机制,提供更细粒度的控制,以低开销收集特定的数据库事件。 除了SQL ...