Trao đổi Java
4 posters
Trang 1 trong tổng số 1 trang
Trao đổi Java
bác nào đã làm java về xử lí ảnh rồi thì post vài cái lên cho anh em tham khảo với .Mình
xin đóng góp 1 bài nhỏ
// xoay ảnh trong java
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public class RotatePanel extends JPanel
{
private Image image;
private double currentAngle;
public RotatePanel(Image image)
{
this.image = image;
MediaTracker mt = new MediaTracker(this);//doi tuong MediaTracker de kiem tra anh duoc hien thị day du
mt.addImage(image, 0);
try
{
mt.waitForID(0);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void rotate()
{
// Quay anh moi lan 5 do
currentAngle += 5.0;
if (currentAngle >= 360.0)
{
currentAngle = 0;
}
repaint();
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
AffineTransform origXform = g2d.getTransform();
AffineTransform newXform = (AffineTransform)(origXform.clone());
// Tam quay chinh la tam cua Panel
int xRot = this.getWidth() / 2;
int yRot = this.getHeight() / 2;
newXform.rotate(Math.toRadians(currentAngle), xRot, yRot);
g2d.setTransform(newXform);
//Ve anh tai tam cua Panel
int x = (getWidth() - image.getWidth(this)) / 2;
int y = (getHeight() - image.getHeight(this)) / 2;
g2d.drawImage(image, x, y, this);
g2d.setTransform(origXform);
}
public Dimension getPreferredSize()
{
return new Dimension ( image.getWidth(this), image.getHeight(this));
}
public static void main(String[] args)
{
JFrame f = new JFrame();
Container cp = f.getContentPane();
cp.setLayout(new BorderLayout());
//Lay anh va nap anh vao Pannel
Image testImage = Toolkit.getDefaultToolkit().getImage("tiger2.jpg");
final RotatePanel rotatePanel = new RotatePanel(testImage);
JButton b = new JButton ("Rotate");
//Xu ly tinh huong khi nhan vao nut Rotate
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae)
{
rotatePanel.rotate();
}
});
//Dua cac nut nhan vao Container
cp.add(rotatePanel, BorderLayout.CENTER);
cp.add(b, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
}
xin đóng góp 1 bài nhỏ
// xoay ảnh trong java
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public class RotatePanel extends JPanel
{
private Image image;
private double currentAngle;
public RotatePanel(Image image)
{
this.image = image;
MediaTracker mt = new MediaTracker(this);//doi tuong MediaTracker de kiem tra anh duoc hien thị day du
mt.addImage(image, 0);
try
{
mt.waitForID(0);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void rotate()
{
// Quay anh moi lan 5 do
currentAngle += 5.0;
if (currentAngle >= 360.0)
{
currentAngle = 0;
}
repaint();
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
AffineTransform origXform = g2d.getTransform();
AffineTransform newXform = (AffineTransform)(origXform.clone());
// Tam quay chinh la tam cua Panel
int xRot = this.getWidth() / 2;
int yRot = this.getHeight() / 2;
newXform.rotate(Math.toRadians(currentAngle), xRot, yRot);
g2d.setTransform(newXform);
//Ve anh tai tam cua Panel
int x = (getWidth() - image.getWidth(this)) / 2;
int y = (getHeight() - image.getHeight(this)) / 2;
g2d.drawImage(image, x, y, this);
g2d.setTransform(origXform);
}
public Dimension getPreferredSize()
{
return new Dimension ( image.getWidth(this), image.getHeight(this));
}
public static void main(String[] args)
{
JFrame f = new JFrame();
Container cp = f.getContentPane();
cp.setLayout(new BorderLayout());
//Lay anh va nap anh vao Pannel
Image testImage = Toolkit.getDefaultToolkit().getImage("tiger2.jpg");
final RotatePanel rotatePanel = new RotatePanel(testImage);
JButton b = new JButton ("Rotate");
//Xu ly tinh huong khi nhan vao nut Rotate
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae)
{
rotatePanel.rotate();
}
});
//Dua cac nut nhan vao Container
cp.add(rotatePanel, BorderLayout.CENTER);
cp.add(b, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
}
Được sửa bởi bqthanh85 ngày Mon May 19, 2008 8:43 pm; sửa lần 1.
bqthanh85- Phó Giám đốc
- Tổng số bài gửi : 204
Join date : 11/05/2008
Re: Trao đổi Java
Nó chép source post lên chém gió đó
phonglh- Trưởng Phòng
- Tổng số bài gửi : 163
Join date : 10/05/2008
Age : 37
Re: Trao đổi Java
Bác phong béo làm nhiều về java rồi mà sao chẳng thấy post bài nào lên cả vậy hả. Hãy chia sẽ để được người khác chia sẽ.
" Học mà không chơi là chôn vùi tuổi trẻ
Chơi mà không học thì mất cả tương lai"
" Học mà không chơi là chôn vùi tuổi trẻ
Chơi mà không học thì mất cả tương lai"
bqthanh85- Phó Giám đốc
- Tổng số bài gửi : 204
Join date : 11/05/2008
Re: Trao đổi Java
Phong Béo chỉ post những địa chỉ " hay " thôi chứ có biết gì về java đâu mà post
superquaypha- Trợ Lý
- Tổng số bài gửi : 51
Join date : 10/05/2008
Re: Trao đổi Java
Nge giang hồ đồn thằng phong làm Game gì bằng Java hay lém mà, hình như game xem hình thì phải. tức là cứ thắng 1 điểm nó mở một góc hình sao ấy. hấp dẫn lém . hình thì cực cool
Similar topics
» Ôn Thi Xử Lý Ảnh, 3 ngày làm nên sự nghiệp...Vừa XLA vừa Mạng&Java
» Băn khoăn việc dời lịch báo cáo Mạng & Java
» Ôn Thi Java - Làm sao qua, bt chưa có lời giải
» TRẮC NGHIỆM JAVA
» Share tài liệu về lập trình JDBC trong Java
» Băn khoăn việc dời lịch báo cáo Mạng & Java
» Ôn Thi Java - Làm sao qua, bt chưa có lời giải
» TRẮC NGHIỆM JAVA
» Share tài liệu về lập trình JDBC trong Java
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|