请问如何在java中对jpeg/gif等图象文件进行放缩(200分)

  • 主题发起人 主题发起人 netbean2k
  • 开始时间 开始时间
N

netbean2k

Unregistered / Unconfirmed
GUEST, unregistred user!
请给出代码,如需用到第三方空间请说明下载地址
 
DrawImage方法
里有图象rect大小的参数
改那个就可以了
 
你有两个办法,带过滤器图象处理和无过滤图象处理
ReplicateScaleFilter 类是ImageFilter子类,就是来实现图象放缩的,
http://www.china-pub.com/computers/eMook/1060/info.htm
http://www.china-pub.com/computers/eMook/1079/info.htm
http://www.china-pub.com/computers/eMook/1080/info.htm
 
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
public class ReplicateScaleFilterTestApplet extends Applet
{
Image img = null ;
Image img2 = null ;
public void init()
{
MediaTracker mt = new MediaTracker(this) ;
try {
img = Toolkit.getDefaultToolkit().getImage("poor.gif") ;
mt.addImage(img, 0) ;
mt.waitForID(0) ;
}
catch (Exception e) {
e.printStackTrace() ;
}

int imgWidth = img.getWidth(this) ;
int imgHeight = img.getHeight(this) ;
// 给出新的图象大小,以下定义为原始图象的两倍
ImageFilter imgFilter = new ReplicateScaleFilter( imgWidth * 2, imgHeight * 2) ;
// 通过过滤器类产生ImageSource图象生产者
FilteredImageSource fImgSource = new FilteredImageSource(img.getSource(), imgFilter) ;

// 创建新的图象
img2 = this.createImage(fImgSource) ;
}
public void paint(Graphics g)
{
g.drawImage(img, 0, 0, this) ;
g.drawImage(img2, img.getWidth(this), 0, this) ;
}
}
 
有没有不用applet的版本
 
我倒!!
这和用Application、Servlet还是Applet有什么关系?你只要把init方法封装倒
一个静态函数里面不久什么地方都可以用了吗?
 
init里面应用了this还可以倒成静态方法
请给出具体范例
我需要一个将jpg或者是gif转换大小的类,也就是说输入
一个图片文件,在生成一个图片文件(jpg或gif)
 
老哥真是实在人,用了this是一个图象生产者而已吗,你可以替换为Toolkit.getDefaultToolkit().createImage(ImageSource)
吗,就算这样你不愿意,你的函数可以传入一个Component参数来完成这些事情吗,(甚至在函数里面创建一个也不是不可以吗)
这样吧,到我的主页下载我的图象处理包看看我的一些函数是怎样编写的吧,我不想直接给你一个准确的答案,其实是一个简单
的函数而已,老yysun提倡咱们给人的只是思路和方法,不是直接把答案给你。 :)
http://dragonpc.delphibbs.com
 
DragonPC_???,说得是
netbean2k有时间多补补基础知识吧
 
凡是可以承载Graphics对象的类都可以用drawImage方法,
例如JPanel,你可以在paintComponent(Graphics g)写drawImage
具体的方法看DragonPC_???就可以
如果还看不懂,那证明你对java的整体构架还不了解,并且
在一些基础问题上还很模糊!建议你先看一下java中swing
包下和IO包中的相关类
 
用JAVA2D技术就行。
http://developer.java.sun.com/developer/onlineTraining/Media/
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
594
import
I
后退
顶部