java画太极加图片_通过Java 画一个太极图

这段代码演示了如何在Java中创建一个太极图。程序定义了一个`Demo4`类,使用`Graphics2D`来填充不同颜色的弧形和椭圆以形成太极图案,并在中间添加了'太'和'极'两个字。最后,将生成的图像保存为jpg文件。
摘要由CSDN通过智能技术生成

package demo;

import java.awt.Color;

import java.awt.Font;

import java.awt.FontMetrics;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

/**

* 画一个太极图

*

* @author Weirdo-world

*

*/

public class Demo4 {

public static void main(String[] args) {

tj(800);

}

/**

* @param w

* 定义图像的宽

*/

public static void tj(int w) {

BufferedImage bfi = new BufferedImage(w, w, BufferedImage.TYPE_INT_RGB);

Graphics2D g = (Graphics2D) bfi.getGraphics();

// 设置背景颜色

g.setColor(new Color(211, 211, 211));

g.fillRect(0, 0, w, w);

// 左边半圆

g.setColor(Color.WHITE);

g.fillArc(0, 0, w, w, 90, 180);

// 右边半圆

g.setColor(Color.BLACK);

g.fillArc(0, 0, w, w, -90, 180);

// 上下部分调整

g.setColor(Color.WHITE);

g.fillOval(w / 4, 0, w / 2, w / 2);

g.setColor(Color.BLACK);

g.fillOval(w / 4, w / 2, w / 2, w / 2);

g.fillOval(w * 3 / 8, w / 8, w / 4, w / 4);

g.setColor(Color.WHITE);

g.fillOval(w * 3 / 8, w * 5 / 8, w / 4, w / 4);

// 设置字体

Font font = new Font("STCAIYUN.TTF", Font.BOLD, w / 5);

g.setFont(font);

String t = "太";

FontMetrics fm = g.getFontMetrics();

int fw = fm.stringWidth(t);

int fh = fm.getHeight();

g.drawString(t, w / 2 - fw / 2, w / 4 - fh / 2 + font.getSize());

g.setColor(Color.BLACK);

String j = "极";

g.drawString(j, w / 2 - fw / 2, w * 3 / 4 - fh / 2 + font.getSize());

g.drawImage(bfi, w, w, null);

try {

ImageIO.write(bfi, "jpg", new File("g:/image/tmp/t.jpg"));

} catch (IOException e) {

e.printStackTrace();

}

g.dispose();

}

}

ddd8a36c5e5c8208bdbed59f349fe226.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值