Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 缩放 SQL Server中Image字段的JPG图片时遇到的几个问题,特向大家请教
wgz_jz





发贴: 9
积分: 0
于 2004-10-21 23:13 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
本人是JAVA初学者,现准备编一Applet,功能为显示SQL Server中Image字段的JPG图片及某一部分的定位

信息,并将图片与定位信息按比例缩放,(环境为JBuilderX + JDBC for SQL Server)。
思路如下:利用 getBinaryStream 将JPG数据读出后,利用 getScaledInstance 将图片缩放后用

setIcon 赋给 JLabel显示。
现遇到如下问题:
1、在 JBuilderX 中运行时,图片显示正常,而打包成 JAR 后从 IE 中运行时不显示图片。此时若将从

数据库中读取的图片换成静态图片却能显示。
2、在 JBuilderX 中能正常显示动态读取的 JPG 图片时,将图片放大却出现

java.lang.OutOfMemoryError,而缩小显示却正常。
另有一个问题,如果将 JdbLabel 的 ColumIcon 绑定到 SQL Server 的 Image 字段时,如何对图片进行

动态缩放?
部分程序代码如下:

private float displayRatio = 1.00F;  //缩放比例
private Image scaledPicture;    //缩放后的 JPG 图片
private ImageIcon iconPicture = new ImageIcon();
//从数据库中读取得原始 JPG 图片
private byte[] pictureBuffer = new byte[5*1024*1024];

JLabel imgLocation = new JLabel();
JLabel imgPicture = new JLabel();
JPanel jPanelPicture = new JPanel();
JScrollPane jScrollPicture = new JScrollPane();

jScrollPicture.getViewport().add(jPanelPicture, null);
jPanelPicture.add(imgLocation, new XYConstraints(0, 0, 0, 0));
jPanelPicture.add(imgPicture, new XYConstraints(0, 0, 0, 0));

//queryOnePicture 的 SQL 为 "select 图 from 图表 where 图ID=:pictureID"
try {
InputStream inputImage = queryOnePicture.getBinaryStream(1);
int lengthReaded=-1,positionCurrent=0;
do {
lengthReaded = inputImage.read(pictureBuffer, positionCurrent,
inputImage.available());
positionCurrent = positionCurrent + lengthReaded;
} while (lengthReaded != -1);
inputImage.close();
}
catch (Exception e) {
e.printStackTrace();
}
iconPicture = new ImageIcon(pictureBuffer);
imgPicture.setVisible(false);
scaledPicture = iconPicture.getImage().getScaledInstance(
(int)(iconPicture.getIconWidth() * displayRatio),
(int)(iconPicture.getIconHeight() * displayRatio),
Image.SCALE_FAST);
imgPicture.setIcon(new ImageIcon(scaledPicture));
jPanelPicture.remove(imgPicture);
jPanelPicture.add(imgPicture,new XYConstraints(0, 0, 0, 0),1);
imgPicture.setVisible(true);




有了Swing为什么还要SWT?

话题树型展开
人气 标题 作者 字数 发贴时间
4509 缩放 SQL Server中Image字段的JPG图片时遇到的几个问题,特向大家请教 wgz_jz 2174 2004-10-21 23:13
3500 Re:缩放 SQL Server中Image字段的JPG图片时遇到的几个问题,特向大家请教 wgz_jz 1609 2004-10-24 13:27
3667 Re:缩放 SQL Server中Image字段的JPG图片时遇到的几个问题,特向大家请教 kavinwang 12 2004-10-24 13:44

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923