GradientPaint是Java2D中专门用来控制渐变的类,它提供了使用线性颜色渐变模式填充 Shape 的方法。其构造函数GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2),充分说明了它的作用,即从点(x1,y1)到点(x2,y2)进行渐变。如果在用户空间指定了 Point P1 的 Color 为 C1,Point P2 的 Color 为 C2,则 P1、P2 连接线上的 Color 是逐渐地从 C1 变化到 C2 的。任何不在 P1、P2 延长线上的点 P 都具有点 P' 的颜色,P' 是 P1、P2 延长线上点 P 的垂直投影。P1、P2 段以外的延长线上的点可以按以下两种方式之一进行着色。
* 如果渐变是周期性的,那么 P1、P2 延长线上的点在颜色 C1 和 C2 之间来回循环。
* 如果渐变是非周期性的,那么 P1 一边的点有固定的 Color C1,而 P2 一边的点有固定的 Color C2。
例子
GradientPaint mask;
mask = new GradientPaint(0, 0, new Color(1.0f, 1.0f, 1.0f, 1.0f), 0, height, new Color(1.0f, 1.0f, 1.0f, 0.0f));
g2.setPaint(mask);
g2.setComposite(AlphaComposite.DstIn);
g2.fillRect(0, 0, image.getWidth(), height);
分享到:
相关推荐
Java中的Graphics2D类是Java 2D API的核心组件,用于在屏幕上绘制复杂的图形和文本。它扩展了Graphics类,提供了更多的绘图属性和方法,使得开发者能够进行更精细的图形控制。在Java中,Graphics2D类的绘图属性主要...
Java提供了一个名为`GradientPaint`的类,它可以用来定义从一个颜色渐变到另一个颜色的效果。`GradientPaint`的构造函数如下: ```java GradientPaint(float x1, float y1, Color c1, float x2, float y2, Color c2...
2D颜色渐变是画图工具的一个高级特性,它可以通过Java的GradientPaint类来实现。GradientPaint允许在两个颜色之间创建平滑过渡,可以应用于填充形状。首先,我们需要定义两个颜色点和它们的位置,然后创建一个...
参数 `paint` 可以是任何实现了 `Paint` 接口的对象,例如 `Color` 或 `GradientPaint`。 6. **`setBorderPaint(Paint paint)`**:设置图表边框颜色。参数 `paint` 同样可以是任何实现了 `Paint` 接口的对象。 7. ...
GradientPaint gp=new GradientPaint(0.0F,0.0F,BUTTON_COLOR1,0.0F,h,BUTTON_COLOR2,true); g2d.setPaint(gp); g2d.fillRect(0,0,w,h); g2d.setClip(clip); g2d.setPaint(p1); g2d.drawRoundRect(0,0,w-...
`GradientPaint`类就是用来创建线性渐变的,而`RadialGradientPaint`则用于创建径向渐变。这些类允许开发者指定起始和结束颜色,以及渐变的位置和方向。 例如,创建一个从红色到白色的线性渐变可以这样实现: ```...
2. **GradientPaint**:这是一个颜色渐变类,用于定义一个在两个颜色之间的线性或径向渐变。我们可以指定渐变的起点和终点,以及这两个点的颜色,创建一个GradientPaint实例。 3. **TextLayout**:这个类是Java 2D...
为了实现渐变效果,开发者可能使用了`GradientPaint`类,它可以创建从一种颜色平滑过渡到另一种颜色的效果。`GradientPaint`需要两个坐标点和对应的起始颜色和结束颜色作为参数,这样在两点之间的区域就会呈现出颜色...
在这个例子中,我们使用了`GradientPaint`类来创建颜色渐变。`GradientPaint`接受三个参数:起始点的坐标(0, 0),起始颜色,以及结束点的坐标(面板的宽度,高度),结束颜色。然后,我们将这个渐变画笔设置为`...
例如,你可以学习如何使用GradientPaint类创建线性或径向的渐变效果。 5. **异常处理**:在Java编程中,异常处理是非常重要的一部分,通过try-catch-finally结构,可以有效地处理运行时错误。实例中可能会有各种...
`GradientPaint`和`LinearGradientPaint`可以创建渐变效果。`RenderingHints`可以调整渲染质量,例如抗锯齿、文本平滑等。 五、文本渲染 Java 2D提供`Font`类来管理字体,可以设置字体大小、样式(粗体、斜体等)。...
同时,`fill()`方法用于填充图形,而`GradientPaint`类则允许我们创建渐变色填充效果,增强了图形的视觉表现力。 3. **画布Canvas** `Canvas`类是Java GUI中的一个重要组件,它是`java.awt.Canvas`的子类,提供了...
在Java中,图形环境是由`java.awt.Graphics`类提供的,它是一个抽象类,与运行平台有关。`Graphics`对象管理着如何在屏幕上进行绘图。这个类提供了一系列方法,包括绘制文本、图像以及各种图形,如线条、椭圆、矩形...
为了使花朵看起来更加逼真,代码使用了 `GradientPaint` 类来创建渐变填充效果。例如: - `GradientPaint gradient_1` 创建了一个从绿色到黄色的径向渐变,用于填充第一片花瓣。 - `GradientPaint gradient_2` 创建...
在示例中,可能包括使用 `GradientPaint` 创建渐变背景,或添加其他图形元素,如边框和图标。 4. **事件处理**: - 使用 `MouseListener` 和 `ComponentAdapter` 可以监听用户的点击事件,比如导航栏选项被点击时...
例如,`GradientPaint`和`TexturePaint`可以用来创建复杂的背景效果。 6. **图形输出**:JFreeChart支持多种输出方式,包括在Java Swing组件上绘制、生成图片文件(如PNG、JPEG、PDF等)、以及导出为SVG矢量图。这...
在JFreeChart中,柱状图可以通过`CategoryPlot`类进行创建。创建柱状图的第一步是准备数据,通常我们使用`DefaultCategoryDataset`来存储数据,然后通过`CategoryAxis`和`ValueAxis`来定义X轴和Y轴的标签和范围。 ...
文档中提到了Java2D API中的绘制技术,例如绘制基本形状(Rectangle、Ellipse)、渐变填充(GradientPaint)、纹理填充(TexturePaint)、颜色转换(Color)、仿射变换(AffineTransform)等。仿射变换特别重要,它...
2D API包括基本的绘图方法(Graphics2D类)、用于渲染和操作图像的类(BufferedImage和ImageIO类)、文本渲染方法(Font类和相关类)、以及用于复杂图形和图像操作的高级接口(如GeneralPath、GradientPaint和...
- `setBackgroundPaint(Paint paint)`: 可以用任何 Paint 实例(如 Color 或 GradientPaint)来改变图表的背景颜色。 2. **TextTitle 类**: - `setFont(Font font)`: 设置图表标题的字体样式,包括大小、粗细和...