java游戏编程原理与实践教程_看《java游戏编程与实践》日常代码练习

今天,学着书上的代码练习了一下对渐变颜色填充图形的绘制,书上画的本来是矩形的经过我的修改后改成了圆形,具体代码如下:

package text;

import java.awt.Color;

import java.awt.GradientPaint;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Rectangle;

import java.awt.TexturePaint;

import java.awt.geom.Ellipse2D;

import java.awt.geom.Rectangle2D;

import java.awt.image.BufferedImage;

import java.security.spec.EllipticCurve;

import java.util.regex.Pattern;

import javax.swing.JFrame;

public class PaintDemo extends JFrame{

public PaintDemo() {

// TODO Auto-generated constructor stub

super("颜色渐及纹理填充演示例");

setSize(200,150);

setVisible(true);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

@Override

public void paint(Graphics g) {

// TODO Auto-generated method stub

super.paint(g);

Graphics2D g2d=(Graphics2D)g;

//以颜色从白到蓝周期性渐变设置绘图方式

g2d.setPaint(new GradientPaint(20f, 50f, Color.white, 80f,80f,Color.black,true));

g2d.fill(new Ellipse2D.Double(20,50,70,70));

//以上述方式绘制矩形

BufferedImage texture=new BufferedImage(5, 5, 1);//创建BufferedImage对象

Graphics2D pattern=texture.createGraphics();//创建一个Graphics2D对象

pattern.setColor(Color.blue);//设置纹理图案的颜色

pattern.fillRect(0, 0, 5, 5);//填充纹理图案

pattern.setColor(Color.white);//设置纹理图案的颜色

pattern.fillOval(0, 0, 5, 5);//以外接圆方式填充纹理图案

Rectangle rect=new Rectangle(0, 0,5,5);//创建用于定位和复制纹理的Rectangle2D对象

g2d.setPaint(new TexturePaint(texture,rect));//以指定的纹理设置绘图方式

g2d.fill(new Ellipse2D.Double(100,50,70,70));//以纹理方式绘制圆形

}

public static void main(String[] args) {

new PaintDemo();

}

}

绘制之后的效果如图:

65efe846db31cb13ab19baf84de9d161.png

虽然,java的重点是网络编程,文件io流,以及数据库部分,但我对图形编程挺有兴趣的,练着玩一下吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值