package com;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.HeadlessException;
import javax.swing.JFrame;
public class Demo extends JFrame {
public Demo(String title) throws HeadlessException {
super(title);
this.setSize(500, 500);
this.setDefaultCloseOperation(3);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
// 绘制渐变
// g2d.setPaint(new GradientPaint(0, 0, Color.RED,
// getWidth(),getHeight(), Color.YELLOW));
// g2d.fillRect(0, 0, getWidth(),getHeight());
// g2d.fillOval(250, 250, 200, 200);
g2d.setPaint(new GradientPaint(0, 0, Color.BLUE, 500, 0, Color.WHITE));
// g2d.fillOval(50, 50, 200, 200);
// 平移原点到图形环境的中心
g2d.translate(250, 250);
// g2d.setPaint(Color.RED);
// g2d.rotate();
g2d.setFont(new Font("宋体", Font.BOLD, 28));
// g2d.rotate(-20 * Math.PI / 180);
g2d.drawString("Java Graphics2D 实现文字渐变效果", -250, -200);
// g2d.fillRect(0, 0, getWidth(), getHeight());
// g2d.translate(this.getWidth() / 2, this.getHeight() / 2);
// // 旋转文本
GradientPaint g1 = new GradientPaint(0, 0, Color.RED, 500, 0, Color.YELLOW);
GradientPaint g2 = new GradientPaint(0, 0, Color.BLUE, 500, 0, Color.GREEN);
for (int i = 0; i < 12; i++) {
g2d.rotate(30 * Math.PI / 180);
// g2d.setPaint(colors[i % 2]);
if (i % 2 == 0) {
g2d.setPaint(g1);
} else {
g2d.setPaint(g2);
}
g2d.drawString("Java 2D 旋转效果 ", 0, 0);
}
}
public static void main(String[] args) {
new Demo("Graphics");
}
}
分享到:
相关推荐
本文将深入探讨四种主要的渐变动画:Alpha(透明度)、Scale(缩放)、Translate(平移)和Rotate(旋转),以及如何通过Java代码和XML两种方式来实现这些动画。 1. **Alpha渐变动画**: Alpha动画主要用于改变...
基于java开发的高仿小米时钟(精确到毫秒,支持触摸3D旋转效果)+源码+界面效果展示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的高仿小米时钟...
总之,实现指针在转盘上旋转的效果需要结合自定义视图、绘图原理和动画API。通过精心设计和优化,我们可以创建出流畅且富有交互性的UI元素,提升应用的用户体验。在实际项目中,还可以根据需求进一步扩展,如添加...
这个压缩包文件包含了使用Android Studio实现背景图下拉放大以及各种动画效果(移动、旋转、渐变、伸缩)的源代码。下面将详细讲解这些动画效果的实现原理和关键知识点。 1. **背景图下拉放大**: 当用户下拉屏幕...
使用`Color`类可以设置文本的颜色,而`Font`类则用于改变字体、大小和样式,这些可以用来创建不同的视觉效果,如渐变色、闪烁、旋转等。 4. **时间与动画**: 为了实现动态效果,我们需要使用到定时器(如`javax....
JavaFX还支持自定义渲染管道,允许开发者深入底层,优化图形性能和实现独特的视觉效果。例如,通过Canvas API,开发者可以直接操作像素,实现粒子系统、实时图形渲染等复杂效果。 四、源码学习 提供的源码很可能是...
生成随机字符串,可以使用`java.util.Random`和`Character`类结合ASCII码来实现: ```java String captchaCode = ""; for (int i = 0; i ; i++) { captchaCode += (char) (random.nextInt(26) + 'a'); } ``` ...
Swing支持各种视觉效果,如阴影、透明度、渐变等,通过`javax.swing.JComponent`的`setOpaque()`、`setAlpha()`和`setBackground()`等方法可以实现。此外,`java.awt.geom`包中的类可用于创建复杂的形状和变换。 5...
本示例主要讲解如何实现一个光点模糊渐变的自旋转圆环特效。该特效由三部分组成:渐变色、尖端的白点模糊效果以及路径绘制。首先,我们需要了解基本的Android图形绘制原理。 1. **渐变色**: 渐变色在Android中...
在Java代码中,你可以通过实例化`ProgressBar`对象并设置相应的属性来实现动态效果。 通过学习和理解这四种旋转进度条的实现,开发者不仅可以提升UI设计能力,还能掌握Android自定义View和动画的相关知识,这对于...
为了实现顺时针或逆时针的渐变效果,可以调整`startAngle`和`sweepAngle`。 5. **动态更新进度**: 为了实时更新进度,可以创建一个`Runnable`并在`postDelayed()`中执行,每次更新后调用`invalidate()`刷新界面。...
- 在Java中,`Graphics2D`类是`Graphics`类的子类,提供了更高级的绘图功能,如旋转、缩放、平移等,适合用于复杂的图形绘制,包括火焰效果。 3. **BufferedImage类**: - `BufferedImage`是Java中的一个图像类,...
在本教程中,我们将深入探讨如何实现透明度、平移、旋转和缩放这四种基本的Android补间动画。 1. **透明度动画**(Alpha Animation):透明度动画主要通过调整视图的alpha值来改变其可见度。例如,可以设置一个按钮...
这个“计算机软件-商业源码-实例二--渐变色和动画矩形效果.zip”文件提供了一个示例,展示了如何在程序中实现动态的渐变色和矩形动画效果。下面我们将详细探讨这些技术及其背后的原理。 首先,让我们来理解“渐变色...
总之,Java图片溶合特效是一种结合了编程技术和艺术创意的技术,它可以帮助开发者创造出富有个性和创新的视觉效果。无论是在移动应用、桌面应用还是Web应用中,这种技术都有广泛的应用。通过深入学习和实践,你不仅...
例如,同时进行旋转和缩放: ```java AnimationSet animationSet = new AnimationSet(true); // true 表示所有动画同时执行 animationSet.addAnimation(rotateAnim); animationSet.addAnimation(scaleAnim); ...
在Java中,还可以利用Java2D API进一步提升画图的灵活性和复杂性,例如,可以实现渐变填充、旋转、缩放、抗锯齿等效果。Java2D API是对AWT Graphics类的扩展,提供了更多的图形绘制和图像处理功能。 总的来说,Java...
在JAVA编程语言中,我们可以实现动态生成验证码的机制,以提供安全的用户验证体验。下面将详细介绍如何在JAVA中实现验证码的生成。 首先,验证码通常由一组随机字符(包括字母、数字)组成,它们被扭曲、旋转或添加...
在Android开发中,实现独特的视觉效果常常能提升用户体验,本次提供的"android落花效果+字体渐变的Demo源码.rar"就是一个很好的实例,展示了如何在Android应用中创建动态的落花效果以及字体颜色的平滑过渡。...
这个中文教程旨在帮助Java开发者更好地理解和掌握Java 2D API,以便在自己的应用中实现丰富的视觉效果。 Java 2D API 包含了大量的类和接口,主要用于绘制2D图形、文本和图像。它基于组件层次结构,允许开发者对...