请问,有没有办法从一个ImageIcon对象知道图片的大小(字节长度,不是尺寸) 我先在持有了一个ImageIcon对象icon,如何知道这个这个 icon 的大小。目标是,想实现从icon 转成一个 InputStream, 以字节流的形式把它存入数据库中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯,呵呵……我想看看大家有没有这类型的经历……ImageIO 下 估计行的话,也就static ImageInputStream createImageInputStream(Object input) 返回一个 ImageInputStream,它将从给定 Object 中获取输入。 先去试试去……请大家,继续发表意见啦…… 大小?指长宽吗,还是文件大小长宽:ImageIcon icon = .....;int height = icon.getIconHeight();int width = icon.getIconWidth();存入数据库用imageIO可以转的: ImageIcon icon = ...;//你己经得到了此图片,并加载完成了 Image img = icon.getImage(); //这里使用默认的图片类型做为例子,具体的看自己情况 BufferedImage bufferedImage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics g = bufferedImage.createGraphics(); g.drawImage(img, 0, 0, null); g.dispose(); BufferedImage bimgSource=null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bimgSource, "png", baos); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); int iBytesToCopy = baos.size();//图片大小 //存入数据库 PreparedStatement pstmt=.....; pstmt.setBinaryStream(1, bais, iBytesToCopy); ..... 嗯,多谢各位!我昨天把程序改为持有原始的ByteArrayInputStream,使用时生成将它生成ImageIcon了,不是办法的办法!呵呵,我下去好好研究下,4楼的代码…… java 视频聊天 java 静态问题 关于进程之间共享变量的问题 javaw.exe占用的内存越来越大,怎么回事 我现在做"世界杯足球赛成绩统计",但不懂怎么实现添加、删除、修改记录。 java打开jpg文件的问题 Java如何使程序窗口始终处于屏幕的最上层?(类似于FlashGet) 如何在FRAME里加HTML文件啊?? 在做上传文件的时候,因为文件大而发生错误。请问在tomcat或web.xml的什么地方可以配置限制大小。 将flash打包到war中 求 用java取传入的字符串的当月第一天和最后一天 求助
我想看看大家有没有这类型的经历……
ImageIO 下
估计行的话,也就static ImageInputStream createImageInputStream(Object input)
返回一个 ImageInputStream,它将从给定 Object 中获取输入。
先去试试去……请大家,继续发表意见啦……
ImageIcon icon = .....;
int height = icon.getIconHeight();
int width = icon.getIconWidth();存入数据库用imageIO可以转的: ImageIcon icon = ...;//你己经得到了此图片,并加载完成了
Image img = icon.getImage();
//这里使用默认的图片类型做为例子,具体的看自己情况
BufferedImage bufferedImage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.createGraphics();
g.drawImage(img, 0, 0, null);
g.dispose();
BufferedImage bimgSource=null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bimgSource, "png", baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
int iBytesToCopy = baos.size();//图片大小 //存入数据库
PreparedStatement pstmt=.....;
pstmt.setBinaryStream(1, bais, iBytesToCopy);
.....