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

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 JAVA图象处理点滴(摘录)
jameszhang



CJSDN高级会员


发贴: 1594
积分: 111
于 2004-10-28 16:52 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

package mypict;

import java.awt.*;
import javax.swing.JPanel;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import javax.swing.*;

class TestPanel
extends JPanel
{
BorderLayout borderLayout1 = new BorderLayout();
BufferedImage bi, biSrc, biDest;
Graphics2D big;
Image im;
int w, h, flag;
float scaleFactor = 1.0f;
float offset = 0.0f;

public TestPanel()
{
try
{
jbInit();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}

void jbInit() throws Exception
{
this.setLayout(borderLayout1);
Panel pdown;
pdown = new Panel();
Button sharpen = new Button("sharpen");
Button blur = new Button("blur");
Button edge = new Button("edge");
Button reset = new Button("reset");

pdown.setBackground(Color.lightGray);
pdown.setLayout(new GridLayout(2, 0));
pdown.add(sharpen);
pdown.add(blur);
pdown.add(edge);
pdown.add(reset);
this.setLayout(new BorderLayout());
this.add(pdown, BorderLayout.SOUTH);

MediaTracker tracker = new MediaTracker(this);

im = Toolkit.getDefaultToolkit().getImage("m.jpg");
tracker.addImage(im, 0);

try
{
tracker.waitForID(0);
}
catch (Exception e)
{
e.printStackTrace();
}

w = im.getWidth(this);
h = im.getHeight(this);

biSrc = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
big = biSrc.createGraphics();
big.drawImage(im, 0, 0, this);
biDest = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
bi = biSrc;

sharpen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
sharpen_actionPerformed(e);
repaint();
}
});

edge.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
edge_actionPerformed(e);
repaint();
}
});
blur.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
blur_actionPerformed(e);
repaint();
}
});
reset.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
reset_actionPerformed(e);
repaint();
}
});

}

public void sharpen_actionPerformed(ActionEvent e)
{
float data[] =
{
-1.0f, -1.0f, -1.0f, -1.0f, 9.0f, -1.0f, -1.0f, -1.0f, -1.0f, };
Kernel kernel = new Kernel(3, 3, data);
ConvolveOp convolve = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);

convolve.filter(biSrc, biDest);
bi = biDest;

}

public void edge_actionPerformed(ActionEvent e)
{
float data[] =
{
0.0f, -1.0f, 0.0f, -1.0f, 4.0f, -1.0f, 0.0f, -1.0f, 0.0f, };

Kernel kernel = new Kernel(3, 3, data);
ConvolveOp convolve = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);

convolve.filter(biSrc, biDest);
bi = biDest;

}

public void blur_actionPerformed(ActionEvent e)
{
float data[] =
{
1.0f / 9.0f, 1.0f / 10.0f, 1.0f / 10.0f, 1.0f / 9.0f, 1.0f / 12.0f,
1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 10.0f, 1.0f / 9.0f, };
Kernel kernel = new Kernel(3, 3, data);
ConvolveOp convolve = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);

convolve.filter(biSrc, biDest);
bi = biDest;

}

public void reset_actionPerformed(ActionEvent e)
{
bi = biSrc;
}

public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.drawImage(bi,0,0,this);
}

}

public class TestFrame
extends Frame
{
public TestFrame()
{
addWindowListener(new WindowAdapter()
{

public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
TestPanel tp = new TestPanel();
add(tp);
}

public static void main(String[] args)
{
TestFrame f = new TestFrame();
f.setSize(250,400);
f.show();
}

}



"First they ignore u, then they laugh at u, then they fight u, then u will win

Mahatma Gandhi"


话题树型展开
人气 标题 作者 字数 发贴时间
3646 JAVA图象处理点滴(摘录) jameszhang 4771 2004-10-28 16:52
2698 Re:JAVA图象处理点滴(摘录) littledeer1974 60 2004-10-28 17:06
2821 Re:JAVA图象处理点滴(摘录) jameszhang 5 2004-10-28 20:49

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