Java之绘制艺术图案
前面已经介绍过绘制方法。这里不再赘述。
package com.caiduping; import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel; public class ArtDesignFrame extends JFrame {
ArtDesignPanel artDesignPanel = new ArtDesignPanel(); // 创建面板类的实例 public static void main(String args[]) { // 主方法
ArtDesignFrame frame = new ArtDesignFrame(); // 创建窗体类的实例
frame.setVisible(true); // 显示窗体
} public ArtDesignFrame() {
super(); // 调用超类的构造方法
setTitle("绘制艺术图案"); // 窗体标题
setBounds(100, 100, 338, 230); // 窗体的显示位置和大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 窗体关闭方式
add(artDesignPanel); // 将面板类的实例添加到窗体容器中
} class ArtDesignPanel extends JPanel { // 创建内部面板类
public void paint(Graphics g) { // 重写paint()方法
Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象
Ellipse2D.Float ellipse = new Ellipse2D.Float(-80, 5, 160, 10);// 创建椭圆对象
Random random = new Random();// 创建随机数对象
g2.translate(160, 90);// 平移坐标轴
int R = random.nextInt(256);//随机产生颜色的R值
int G = random.nextInt(256);//随机产生颜色的G值
int B = random.nextInt(256);//随机产生颜色的B值
Color color = new Color(R,G,B);//创建颜色对象
g2.setColor(color);//指定颜色
g2.draw(ellipse);// 绘制椭圆
int i=0;
while (i<100){
R = random.nextInt(256);//随机产生颜色的R值
G = random.nextInt(256);//随机产生颜色的G值
B = random.nextInt(256);//随机产生颜色的B值
color = new Color(R,G,B);//创建新的颜色对象
g2.setColor(color);//指定颜色
g2.rotate(10);// 旋转画布
g2.draw(ellipse);// 绘制椭圆
i++;
}
}
}
}
run:
Java之绘制艺术图案的更多相关文章
- Java之绘制五环图案
前面已经介绍过绘制方法.这里不再赘述. package com.caiduping; import java.awt.BasicStroke; import java.awt.Color; impor ...
- Java绘制艺术图形
本例主要是通过使用坐标轴平移,图形旋转和获得随机数等技术来绘制艺术图案.通过重写JPanel类中的paint()方法,并在该方法中使用Graphics2D类中的translate(),setColor ...
- 分享:Java 开发精美艺术二维码
博客地址:https://ainyi.com/58 Java 开发精美艺术二维码 看到网络上各种各样的二维码层出不穷,好像很炫酷的样子,一时兴起,我也要制作这种炫酷二维码效果 例如: 根据以往例子 根 ...
- 纯php实现中秋博饼游戏(1):绘制骰子图案
最近公司中秋博饼(在厦门),自己没事也想玩玩,所以就想动手写了一个纯php实现的中秋博饼游戏,既然要纯php实现,就要用php来生成图案,所以第一步就先绘制骰子图案. 平时很少使用php绘图,不过查查 ...
- html5--5-14 阶段小练习:绘制太极图案
html5--5-14 阶段小练习:绘制太极图案 学习要点 运用前几节课的知识完成一个小练习 这个图案有多种不同的绘制方法,这里只做一个简单的演示,练习的时候可以自己思考一下,尝试其他的方法,或者对这 ...
- canvas一周一练 -- canvas绘制马尾图案 (5)
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=" ...
- Java 窗口 绘制图形 #2
写在前面: 高考结束咧,爽到啊,好耶 完善了Java 窗口 绘制图形 #1里面的程序 加入了缩放平移功能,给代码加了注释 1 package my_package; 2 3 import java.a ...
- 如何评价《Java 并发编程艺术》这本书?
对于书评这件事情,我其实是不想写的,因为每个人都有自己的一个衡量标准,每个人眼中都有自己的哈姆雷特,是好是坏每个人都褒贬不一.如果对于书中的知识你都掌握了,你只是想把它作为一种知识串联的记忆体的话,那 ...
- canvas——绘制解锁图案
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- IIS下的身份验证方式管理
设置.查看身份验证方式 #导航到某站点下: cd IIS:\Sites\DemoSite\DemoApp #启用站点test01下的Windows身份验证 Set-WebConfigurationPr ...
- Codeforces Beta Round #51 A. Flea travel 水题
A. Flea travel Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/55/problem ...
- Codeforces Round #331 (Div. 2) B. Wilbur and Array 水题
B. Wilbur and Array Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/596/p ...
- 使用CKEditor编辑器进行文本编辑
首先下载CKEditor. 下载地址:点击打开链接 将下载完的CKEditor解压而且导入到项目中. 然后在页面引入CKEditor <script type="text/javasc ...
- iOS开发——UI篇OC篇&UIView/UIWindow/UIScreen/CALayer
UIView/UIWindow/UIScreen/CALayer 1.UIScreen可以获取设备屏幕的大小. 1 2 3 4 5 6 7 // 整个屏幕的大小 {{0, 0}, {320, 480} ...
- strcpy_s与strcpy的比較
strcpy_s和strcpy()函数的功能差点儿是一样的.strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它仅仅能假定缓冲足够大来容纳要拷贝的字符串.在程序执行时,这将 ...
- shell脚本分为三类:登录脚本、交互式脚本、非交互式脚本
shell脚本分为三类:登录脚本.交互式脚本.非交互式脚本 一. 登录脚本类似于windows下的计算机设置中的登录脚本和账户设置下的登录脚本的合集(我是这么理解的哈). 其配置文件的关键词为pref ...
- Javascript-获取URL请求参数
function getUrlParam(){ var param = [], hash; var url = window.location.href;//获取网页的url va ...
- 信号之sleep函数
#include <unistd.h> unsigned int sleep(unsigned int seconds); 返回值:0或未休眠够的秒数 此函数使调用进程被挂起,直到满足以下 ...
- html禁止清除input文本输入缓存
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录. 如果不想让浏览器缓存input的值,有2种方法: 方法一: 在不想使用缓存的input中添加 autocompl ...