java 绘图 渐变_如何在Java 2D中创建渐变绘画?

要更改图形形状的颜色,我们可以使用setPaint()方法。对于简单的着色,我们可以将颜色对象传递给此方法,例如Color.RED或Color.GREEN。

如果要使用渐变绘画进行绘画,则可以使用GradientPaint类。此类提供了一种使用线性颜色渐变图案填充形状的方法。要创建渐变颜色图案,可以将以下参数传递给对象构造函数。x1:用户空间中第一个指定点的x坐标

y1:用户空间中第一个指定点的y坐标

color1:第一个指定点的颜色

x2:用户空间中第二个指定点的x坐标

y2:用户空间中第二个指定点的y坐标

color2:第二个指定点的颜色package org.nhooo.example.geom;

import javax.swing.*;

import java.awt.*;

import java.awt.geom.Rectangle2D;

public class GradientPaintDemo extends JComponent {

@Override

public void paint(Graphics g) {

Graphics2D g2 = (Graphics2D) g;

GradientPaint blackToGray = new GradientPaint(50, 50, Color.BLACK,

300, 100, Color.LIGHT_GRAY);

g2.setPaint(blackToGray);

g2.fill(new Rectangle2D.Double(50, 50, 300, 100));

GradientPaint blueToBlack = new GradientPaint(0, 0, Color.BLUE,

400, 400, Color.BLACK);

g2.setPaint(blueToBlack);

g2.fill(new Rectangle2D.Double(50, 160, 300, 100));

}

public static void main(String[] args) {

JFrame frame = new JFrame("Gradient Paint Demo");

frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

frame.getContentPane().add(new GradientPaintDemo());

frame.pack();

frame.setSize(new Dimension(420, 350));

frame.setVisible(true);

}

}

此代码段产生以下输出:

94af226eeee202bd144d483f899fe04a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值