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();

}

}

java画太极加图片_通过Java 画一个太极图相关推荐

  1. java画太极加图片_新手初学java 尝试编程绘画太极图

    我是个新手,对java理解还不深入,看了些java方面的基础视频,自己尝试着把中国的古老的太极图给画出来,经过一些思考和动手,终于把太极图给绘画出来. 记得以前某位高手也画过类似的太极图,不过当时自己 ...

  2. java类如何加载_简述Java类加载方式及流程

    在学习反射那一章节时想到自己之前学过的知识,故整理一番,希望能提供一点帮助,水平有限,如若有误欢迎指正. Java提供了两种类的装载方式.一是预先加载,二是按需加载.因为可以对类进行按需加载,所以程序 ...

  3. java读取mysql的图片_用JAVA写入和读取MYSQL的图片的实例

    主要的程序: package greeds.jdbc.sample; import greeds.jdbc.util.JDBCUtil; import java.io.*; import java.s ...

  4. java画太极加图片_Android 画一个太极图实例代码

    今天练手一下,一起来画个太极图吧~ 最终效果如下: 最终效果 一般都是先讲原理,我就反其道而行,先讲实现吧. 1.继承实现初始化方法 继承View,实现基本的构造函数: public TestView ...

  5. java 日期的加减_用java实现日期类的加减

    Java代码 public class test1 { public static void main(String[] args) { Calendar c = Calendar.getInstan ...

  6. java集合的加减_在JAVA中,对List集合的加减操作

    在日常Java开发中,经常会对List集合进行各种各样的操作,这里针对List集合的加减操作做个小的总结:在我看来最常用的有两个,一个是对原List本身有改变,一个是原List本身无改变. 一.对原L ...

  7. java窗体中添加图片_在java窗体程序中添加图片的方法

    在java窗体程序中添加图片的方法 发布时间:2020-06-16 11:24:13 来源:亿速云 阅读:148 作者:Leah 这篇文章主要为大家详细介绍了在java窗体程序中添加图片的方法,图文详 ...

  8. java给界面加边框_使用Java原生Graphics2D给Activiti流程当前环节加上红色边框。

    近期在在项目中用到了Activiti做流程管理,在当前环节中要求画上边框,最出使用的是CSS或JS的方式做的,可是后来发现IMG标签大小变了后,或者弹出页里面的流程图不一致导致边框错位.IE6和IE其 ...

  9. python画太极八卦图_用布尔运算绘制一个太极八卦图

    布尔运算是UI设计中一个关键的知识点,今天,我们继续给不熟悉的朋友补补课. 教程来自P大点S的PJ胸,Pro_java,在这里,我们会用一个八卦图,再次带大家熟悉布尔运算,特别适合新手练习! 新建一个 ...

最新文章

  1. mysql 1418 错误原因及解决
  2. iTunes只能装C盘吗_C盘清理简单汇总
  3. Oracle 原理: 初步认识程序包
  4. JQuery中的类选择器
  5. css font简写
  6. Buying Feed, 2010 Nov (单调队列优化DP)
  7. Windows下如何用C语言清空特定文件夹中的所有文件
  8. linux如何更改ssh配置文件,Linux系统下ssh的相关配置详细解析
  9. springcloud-gateway启动报错ApplicationContextException: Unable to start ServletWebServerApplicationConte
  10. [No0000F9]C# 运算符重载
  11. Activiti(6.0)任务管理服务TaskaskService
  12. 麦轮平台的速度分解与合成
  13. 机器学习基础(三十四)—— 协同过滤(之获得推荐)
  14. Unity中加载本地图片
  15. 通过.pk8及.pem文件生成Android studio使用的keystore文件。
  16. 手机号码校验正则表达式
  17. 坐标转换-大地坐标系与空间直角坐标系(附软件下载)
  18. nginx搭建html
  19. 如何注册Twitter,来学
  20. 五子棋 手打稍加改变自慕课网hyman

热门文章

  1. 关于this、getContext()、getActivity()、getApplication()、getApplicationContext()的区别
  2. Distiller:量化算法
  3. Win32编程基础知识
  4. BaiduMap---百度地图官方Demo之离线地图功能(介绍如何下载和使用离线地图)
  5. 【运放学习】:虚短、虚短、虚地、深度负反馈
  6. 读写文件时缓冲区多大好呢?我来告诉大家哈
  7. 卸载Alibaba Safe Protect Service
  8. 在pycharm里安装pymysql
  9. Activiti7工作流介绍及使用
  10. 怎样写权利要求书(原创)