java将图片变成圆形
时间: 2023-06-16 20:05:07 浏览: 54
可以使用Java的Graphics2D类的clip()和drawOval()方法将图片变成圆形。
下面是一个简单的示例代码:
```java
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CircularImage extends JPanel {
private BufferedImage image;
public CircularImage() {
try {
// 读取图片
image = ImageIO.read(new File("example.png"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g.create();
// 抗锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// 将图片剪切成圆形
int width = getWidth();
int height = getHeight();
g2d.clipOval(0, 0, width, height);
g2d.drawImage(image, 0, 0, width, height, this);
// 绘制圆形边框
g2d.drawOval(0, 0, width-1, height-1);
g2d.dispose();
}
public static void main(String[] args) {
JFrame frame = new JFrame("Circular Image");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setContentPane(new CircularImage());
frame.setVisible(true);
}
}
```
这个示例代码将一个名为"example.png"的图片变成了一个圆形,并在一个窗口中显示。你可以根据自己的需要修改代码。