java画的花_Java2D绘制花朵

mport java.awt.*;

import java.awt.event.*;

import java.awt.geom.*;

import java.applet.*;

public class Flower extends Applet

{

public void paint(Graphics g)

{

Graphics2D g_2d=(Graphics2D)g;

//花叶两边的曲线:

QuadCurve2D curve_1=new QuadCurve2D.Double(200,200,150,160,200,100);

CubicCurve2D curve_2=new CubicCurve2D.Double(200,200,260,145,190,120,200,100);

//花叶中的纹线:

Line2D line=new Line2D.Double(200,200,200,110);

QuadCurve2D leaf_line1=new QuadCurve2D.Double(200,180,195,175,190,170);

QuadCurve2D leaf_line2=new QuadCurve2D.Double(200,180,210,175,220,170);

QuadCurve2D leaf_line3=new QuadCurve2D.Double(200,160,195,155,190,150);

QuadCurve2D leaf_line4=new QuadCurve2D.Double(200,160,214,155,220,150);

//利用旋转来绘制花朵:

AffineTransform trans=new AffineTransform();

for(int i=0;i<6;i++)

{

trans.rotate(60*Math.PI/180,200,200);

g_2d.setTransform(trans);

GradientPaint gradient_1=new GradientPaint(200,200,Color.green,200,100,Color.yellow);

g_2d.setPaint(gradient_1);

g_2d.fill(curve_1);

GradientPaint gradient_2=new GradientPaint(200,145,Color.green,260,145,Color.red,true);

g_2d.setPaint(gradient_2);

g_2d.fill(curve_2);

Color c3=new Color(0,200,0);g_2d.setColor(c3);

g_2d.draw(line);

g_2d.draw(leaf_line1);g_2d.draw(leaf_line2);

g_2d.draw(leaf_line3);g_2d.draw(leaf_line4);

}

//花瓣中间的花蕾曲线:

QuadCurve2D center_curve_1=new QuadCurve2D.Double(200,200,190,185,200,180);

AffineTransform trans_1=new AffineTransform();

for(int i=0;i<12;i++)

{

trans_1.rotate(30*Math.PI/180,200,200);

g_2d.setTransform(trans_1);

GradientPaint gradient_3=new GradientPaint(200,200,Color.red,200,180,Color.yellow);

g_2d.setPaint(gradient_3);

g_2d.fill(center_curve_1);

}

//再绘制一个0.4倍的花朵:

AffineTransform trans_2=new AffineTransform();

trans_2.scale(0.4,0.4);

for(int i=0;i<6;i++)

{

trans_2.rotate(60*Math.PI/180,200,200);

g_2d.setTransform(trans_2);g_2d.setColor(Color.pink);

g_2d.fill(curve_1);

g_2d.setColor(Color.green);

g_2d.fill(curve_2);

}

}

}

//

//

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java2DJava 平台上的 2D 图形 API,提供了强大的绘制工具和灵活的绘制方式,可以用来绘制各种效果的图形。 下面是一个用 Java2D 绘制一个简单图形的示例代码: ```java import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Ellipse2D; import javax.swing.JFrame; import javax.swing.JPanel; public class DrawingExample extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setPaint(Color.gray); g2d.fillRect(0, 0, getWidth(), getHeight()); g2d.setPaint(Color.yellow); g2d.fill(new Ellipse2D.Double(10, 10, 100, 100)); } public static void main(String[] args) { JFrame frame = new JFrame("Drawing Example"); frame.add(new DrawingExample()); frame.setSize(300, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } ``` 这个示例代码绘制了一个灰色背景和一个黄色的圆形。首先,我们继承 JPanel 类并重写 paintComponent 方法,在方法内部进行绘制操作。我们首先将 Graphics 对象转换成 Graphics2D 对象,这样我们就可以使用更多的绘制方法和选项。然后,我们开启了抗锯齿选项,这样绘制的图形会更加平滑。接着,我们设置了绘制颜色为灰色,并使用 fillRect 方法填充整个面板。最后,我们设置了绘制颜色为黄色,并使用 Ellipse2D绘制了一个圆形。 我们可以通过运行这个示例代码来看到它的效果。这只是一个简单的示例,Java2D 还提供了更多的绘制工具和选项,可以用来创建更加复杂的图形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值