「javaimage保存」java写好的代码怎么保存
今天给各位分享javaimage保存的知识,其中也会对java写好的代码怎么保存进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、怎么把java中的Image对象保存到硬盘上
- 2、java中如何将一个image格式的对象存储成为一个具体的文件,请写的详细点
- 3、java如何将图片保存在数据库中
- 4、Java 技巧:用 Java 保存位图文件
- 5、关于在java中保存image类型的字段的问题
- 6、java中的资源文件应该放在哪里?如果使用的是相对路径比如/image 那么image文件夹应该保存在字节码目录下
怎么把java中的Image对象保存到硬盘上
javax.imageio.ImageIO
public static boolean write(RenderedImage im,
String formatName,
File output)
throws IOException
使用支持给定格式的任意 ImageWriter 将一个图像写入 File。如果已经有一个 File 存在,则丢弃其内容。
参数:
im - 要写入的 RenderedImage。
formatName - 包含格式的非正式名称的 String。
output - 将在其中写入数据的 File。
返回:
如果没有找到合适的 writer,则返回 false。
抛出:
IllegalArgumentException - 如果任何参数为 null。
IOException - 如果在写入过程中发生错误。
即可
java中如何将一个image格式的对象存储成为一个具体的文件,请写的详细点
saveComponentToJPEG(contentPane, file.toString());
如果是将容器区域内的图像按照jpg格式保存的话可以用这个,你可以先将那个Image类型的图像用
File selFiles = swingDialog.getSelectedFile();
img = Toolkit.getDefaultToolkit().getImage(selFiles.toString());
选中加载到容器区域中
java如何将图片保存在数据库中
一般都是这样的,就是在你服务器有一个专门放置图片的文件夹,然后数据库保存的是你服务器图片的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理图片是你的事情了。
至于如何去数据库取路径这个就是简单的db操作。
加载驱动类:
Class.forName(DBDriver);
获取连接:
Connection
conn
=
DriverManager.getConnection(url,username,password);
创建操作对象:
PreparedStatement
stmt
=
con.prepareStatement(sql);
执行操作:
ResultSet
rs
=
stmt.executeQuery();
遍历结果:
List
list
=
new
ArrayList();
while(rs.next()){
//具体操作,通常用rs.getString(name)取值
Image
img
=
new
Image();//图片类对应你数据库中图片表格
img.setSrc(rs.getString("src"));//假设你数据库中image表中图片地址字段是src
list.add(img);
}
记得关闭资源:
rs.close();
stmt.close();
con.close();
看你的意思是已经取出来了不知道怎么显示:
你取出来之后可以把图片放在一个list里面然后去页面上遍历这个list
c:forEach
var="chakan1"
items="list"
tr
td
img
src="${chakan1.src}"/
/td
/tr
/c:forEach
大致应该是这样
Java 技巧:用 Java 保存位图文件
如果您在 Microsoft Windows 环境中工作 那么创建位图文件的功能将为您提供许多方便 例如 在我的上一个项目中 我必须将 Java 与 Microsoft Access 对接 Java 程序允许用户在屏幕上绘图 这幅图随后被打印到 Microsoft Access 报表中 由于 Java 不支持 OLE 我的唯一选择就是创建该图的一个位图文件 并通知 Microsoft Access 报表在何处能找到这个位图文件 如果您写过向剪贴板发送图像的应用程序 则这个技巧可能对您有用 尤其是当您将这个信息传递给另一个应用程序时 位图文件的格式 位图文件格式支持 位 RLE(行程长度编码)以及 位和 位编码 因为我们只处理 位格式 所以下面我们查看一下该文件的结构 位图文件分为三个部分 我已将它们列在下面 第 部分 位图文件的标头 标头包含位图文件的类型大小信息和版面信息 结构如下(摘自 C 语言结构定义) typedef struct tagBITMAPFILEHEADER {牋燯INT bfType;牋燚WORD bfSize;牋燯INT bfReserved ;牋燯INT bfReserved ;牋燚WORD bfOffBits;}BITMAPFILEHEADER;下面是对这个清单中的代码元素的说明 bfType 指定文件类型 其值始终为 BM bfSize 指定整个文件的大小(以字节为单位) bfReserved 保留 必须为 bfReserved 保留 必须为 bfOffBits 指定从 BitmapFileHeader 到图像首部的字节偏移量 现在您已经明白位图标头的用途就是标识位图文件 读取位图文件的每个程序都使用位图标头来进行文件验证 第 部分 位图信息标头 随后的标头称为信息标头 其中包含图像本身的属性 下面说明如何指定 Windows (或更高版本)设备独立位图 (DIB) 的大小和颜色格式: typedef struct tagBITMAPINFOHEADER {牋牋DWORD biSize;牋牋LONG biWidth;牋牋LONG biHeight;牋牋WORD biPlanes;牋牋WORD biBitCount;牋牋DWORD biCompression;牋牋DWORD biSizeImage;牋牋LONG biXPelsPerMeter;牋牋LONG biYPelsPerMeter;牋牋DWORD biClrUsed;牋牋DWORD biClrImportant;} BITMAPINFOHEADER;以上代码清单的每个元素说明如下 biSize 指定 BITMAPINFOHEADER 结构所需的字节数 biWidth 指定位图的宽度(以象素为单位) biHeight 指定位图的高度(以象素为单位) biPlanes 指定目标设备的位面数 这个成员变量的值必须为 biBitCount 指定每个象素的位数 其值必须为 或 biCompression 指定压缩位图的压缩类型 在 位格式中 该变量被设置为 biSizeImage 指定图像的大小(以字节为单位) 如果位图的格式是 BI_RGB 则将此成员变量设置为 是有效的 biXPelsPerMeter 为位图指定目标设备的水平分辨率(以 象素/米 为单位) 应用程序可用该值从最符合当前设备特征的资源群组中选择一个位图 biYPelsPerMeter 为位图指定目标设备的垂直分辨率(以 象素/米 为单位) biClrUsed 指定位图实际所用的颜色表中的颜色索引数 如果 biBitCount 设为 则 biClrUsed 指定用来优化 Windows 调色板性能的参考颜色表 biClrImportant 指定对位图的显示有重要影响的颜色索引数 如果此值为 则所有颜色都很重要 现在已定义了创建图像所需的全部信息 第 部分 图像 在 位格式中 图像中的每个象素都由存储为 BRG 的三字节 RGB 序列表示 每个扫描行都被补足到 位 为了使这个过程稍复杂一点 图像是自底而上存储的 即第一个扫描行是图像中的最后一个扫描行 下图显示了标头 (BITMAPHEADER) 和 (BITMAPINFOHEADER) 以及部分图像 各个部分由垂线分隔 D B | E B EC EC | FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF*现在 我们开始检视代码 现在我们已经知道了 位位图文件的结构 下面就是您期待已久的内容 用来将图像对象写入位图文件的代码 import java awt *;import java io *;import java awt image *;public class BMPFile extends Component {牋// 私有常量牋private final static int BITMAPFILEHEADER_SIZE = ;牋private final static int BITMAPINFOHEADER_SIZE = ;牋// 私有变量声明牋// 位图文件标头牋private byte bitmapFileHeader [] = new byte [ ];牋private byte bfType [] = { B M };牋private int bfSize = ;牋private int bfReserved = ;牋private int bfReserved = ;牋private int bfOffBits = BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE;牋// 位图信息标头牋private byte bitmapInfoHeader [] = new byte [ ];牋private int biSize = BITMAPINFOHEADER_SIZE;牋private int biWidth = ;牋private int biHeight = ;牋private int biPlanes = ;牋private int biBitCount = ;牋private int biCompression = ;牋private int biSizeImage = x ;牋private int biXPelsPerMeter = x ;牋private int biYPelsPerMeter = x ;牋private int biClrUsed = ;牋private int biClrImportant = ;牋// 位图原始数据牋private int bitmap [];牋// 文件部分牋private FileOutputStream fo;牋// 缺省构造函数牋public BMPFile() {牋}牋public void saveBitmap (String parFilename Image parImage intparWidth int parHeight) {牋牋炉ry {牋牋牋牋fo = new FileOutputStream (parFilename);牋牋牋牋save (parImage parWidth parHeight);牋牋牋牋fo close (); 牋牋爙牋牋焘atch (Exception saveEx) {牋牋牋牋saveEx printStackTrace ();牋牋爙牋}牋/*牋? saveMethod 是该进程的主方法 该方法牋? 将调用 convertImage 方法以将内存图像转换为牋? 字节数组 writeBitmapFileHeader 方法创建并写入牋? 位图文件标头 writeBitmapInfoHeader 创建 牋? 信息标头 writeBitmap 写入图像 牋?牋?/牋private void save (Image parImage int parWidth int parHeight) {牋牋炉ry {牋牋牋牋convertImage (parImage parWidth parHeight);牋牋牋牋writeBitmapFileHeader ();牋牋牋牋writeBitmapInfoHeader ();牋牋牋牋writeBitmap ();牋牋爙牋牋焘atch (Exception saveEx) {牋牋牋牋saveEx printStackTrace ();牋牋爙牋}牋/*牋? convertImage 将内存图像转换为位图格式 (BRG) 牋? 它还计算位图信息标头所用的某些信息 牋?牋?/牋private boolean convertImage (Image parImage int parWidth int parHeight) {牋牋爄nt pad;牋牋燽itmap = new int [parWidth * parHeight];牋牋燩ixelGrabber pg = new PixelGrabber (parImage parWidth parHeight 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋燽itmap parWidth);牋牋炉ry {牋牋牋牋pg grabPixels ();牋牋爙牋牋焘atch (InterruptedException e) {牋牋牋牋e printStackTrace ();牋牋牋牋return (false);牋牋爙牋牋爌ad = ( ((parWidth * ) % )) * parHeight;牋牋燽iSizeImage = ((parWidth * parHeight) * ) + pad;牋牋燽fSize = biSizeImage + BITMAPFILEHEADER_SIZE +BITMAPINFOHEADER_SIZE;牋牋燽iWidth = parWidth;牋牋燽iHeight = parHeight;牋牋爎eturn (true);牋}牋/*牋? writeBitmap 将象素捕获器返回的图像转换为牋? 所需的格式 请记住 扫描行在位图文件中是牋? 反向存储的!牋?牋? 每个扫描行必须补足为 个字节 牋?/牋private void writeBitmap () {牋牋牋int size;牋牋牋int value;牋牋牋int j;牋牋牋int i;牋牋牋int rowCount;牋牋牋int rowIndex;牋牋牋int lastRowIndex; lishixinzhi/Article/program/Java/JSP/201311/19219
关于在java中保存image类型的字段的问题
觉得还是要用PreparedStatement。觉得你的方向不对了,你反编译setBinaryStream的代码看看吧。
可以说说 你为什么一定要用Statement而就是不用PreparedStatement吗?
难道用PreparedStatement就不能动态生成SQL吗?不明白有什么不同。
"最大的不同是同一个数据库不同的表不同的操作我只要一个statement. 但是用preparedstatement我就要每操作一次创建一个preparedstatement"
我不明白你是怎么做的。我觉得statement可以做的事情preparedstatement同样可以,或者你把你的代码贴出来。
java中的资源文件应该放在哪里?如果使用的是相对路径比如/image 那么image文件夹应该保存在字节码目录下
源文件放在context或者webroot下的web-info下的classes下,image放在context或者webroot下
关于javaimage保存和java写好的代码怎么保存的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2023-03-23,除非注明,否则均为
原创文章,转载请注明出处。