`

Java实现渐变和旋转效果

    博客分类:
  • JAVA
阅读更多

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");
 }
}

分享到:
评论

相关推荐

    Android动画效果--渐变动画

    本文将深入探讨四种主要的渐变动画:Alpha(透明度)、Scale(缩放)、Translate(平移)和Rotate(旋转),以及如何通过Java代码和XML两种方式来实现这些动画。 1. **Alpha渐变动画**: Alpha动画主要用于改变...

    基于java开发的高仿小米时钟(精确到毫秒,支持触摸3D旋转效果)+源码+界面效果展示(毕业设计&课程设计&项目开发)

    基于java开发的高仿小米时钟(精确到毫秒,支持触摸3D旋转效果)+源码+界面效果展示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的高仿小米时钟...

    实现指针在转盘上旋转的效果

    总之,实现指针在转盘上旋转的效果需要结合自定义视图、绘图原理和动画API。通过精心设计和优化,我们可以创建出流畅且富有交互性的UI元素,提升应用的用户体验。在实际项目中,还可以根据需求进一步扩展,如添加...

    安卓动画效果相关-androidstudio支持背景图下拉放大动画移动旋转渐变伸缩功能实现代码.rar

    这个压缩包文件包含了使用Android Studio实现背景图下拉放大以及各种动画效果(移动、旋转、渐变、伸缩)的源代码。下面将详细讲解这些动画效果的实现原理和关键知识点。 1. **背景图下拉放大**: 当用户下拉屏幕...

    纯java实现的文字特效

    使用`Color`类可以设置文本的颜色,而`Font`类则用于改变字体、大小和样式,这些可以用来创建不同的视觉效果,如渐变色、闪烁、旋转等。 4. **时间与动画**: 为了实现动态效果,我们需要使用到定时器(如`javax....

    Java动画、图形和极客户端效果

    JavaFX还支持自定义渲染管道,允许开发者深入底层,优化图形性能和实现独特的视觉效果。例如,通过Canvas API,开发者可以直接操作像素,实现粒子系统、实时图形渲染等复杂效果。 四、源码学习 提供的源码很可能是...

    用JAVA实现验证码的绘制

    生成随机字符串,可以使用`java.util.Random`和`Character`类结合ASCII码来实现: ```java String captchaCode = ""; for (int i = 0; i ; i++) { captchaCode += (char) (random.nextInt(26) + 'a'); } ``` ...

    Java动画、图形和极富客户端效果开发源码

    Swing支持各种视觉效果,如阴影、透明度、渐变等,通过`javax.swing.JComponent`的`setOpaque()`、`setAlpha()`和`setBackground()`等方法可以实现。此外,`java.awt.geom`包中的类可用于创建复杂的形状和变换。 5...

    Android实现光点模糊渐变的自旋转圆环特效

    本示例主要讲解如何实现一个光点模糊渐变的自旋转圆环特效。该特效由三部分组成:渐变色、尖端的白点模糊效果以及路径绘制。首先,我们需要了解基本的Android图形绘制原理。 1. **渐变色**: 渐变色在Android中...

    Android例子源码四种效果不同的旋转进度条

    在Java代码中,你可以通过实例化`ProgressBar`对象并设置相应的属性来实现动态效果。 通过学习和理解这四种旋转进度条的实现,开发者不仅可以提升UI设计能力,还能掌握Android自定义View和动画的相关知识,这对于...

    Android 自定义View实现环形带刻度颜色渐变的进度条

    为了实现顺时针或逆时针的渐变效果,可以调整`startAngle`和`sweepAngle`。 5. **动态更新进度**: 为了实时更新进度,可以创建一个`Runnable`并在`postDelayed()`中执行,每次更新后调用`invalidate()`刷新界面。...

    Java绘制图片火焰效果.7z

    - 在Java中,`Graphics2D`类是`Graphics`类的子类,提供了更高级的绘图功能,如旋转、缩放、平移等,适合用于复杂的图形绘制,包括火焰效果。 3. **BufferedImage类**: - `BufferedImage`是Java中的一个图像类,...

    Android 补间动画,具体介绍了透明度、平移,旋转,缩放4种动画效果的实现,简单易懂

    在本教程中,我们将深入探讨如何实现透明度、平移、旋转和缩放这四种基本的Android补间动画。 1. **透明度动画**(Alpha Animation):透明度动画主要通过调整视图的alpha值来改变其可见度。例如,可以设置一个按钮...

    计算机软件-商业源码-实例二--渐变色和动画矩形效果.zip

    这个“计算机软件-商业源码-实例二--渐变色和动画矩形效果.zip”文件提供了一个示例,展示了如何在程序中实现动态的渐变色和矩形动画效果。下面我们将详细探讨这些技术及其背后的原理。 首先,让我们来理解“渐变色...

    java 图片溶合特效源码

    总之,Java图片溶合特效是一种结合了编程技术和艺术创意的技术,它可以帮助开发者创造出富有个性和创新的视觉效果。无论是在移动应用、桌面应用还是Web应用中,这种技术都有广泛的应用。通过深入学习和实践,你不仅...

    android 渐变动画 demo

    例如,同时进行旋转和缩放: ```java AnimationSet animationSet = new AnimationSet(true); // true 表示所有动画同时执行 animationSet.addAnimation(rotateAnim); animationSet.addAnimation(scaleAnim); ...

    java画图程序,java编程

    在Java中,还可以利用Java2D API进一步提升画图的灵活性和复杂性,例如,可以实现渐变填充、旋转、缩放、抗锯齿等效果。Java2D API是对AWT Graphics类的扩展,提供了更多的图形绘制和图像处理功能。 总的来说,Java...

    JAVA动态生成验证码的JAVA实现的代码

    在JAVA编程语言中,我们可以实现动态生成验证码的机制,以提供安全的用户验证体验。下面将详细介绍如何在JAVA中实现验证码的生成。 首先,验证码通常由一组随机字符(包括字母、数字)组成,它们被扭曲、旋转或添加...

    android落花效果+字体渐变的Demo源码.rar

    在Android开发中,实现独特的视觉效果常常能提升用户体验,本次提供的"android落花效果+字体渐变的Demo源码.rar"就是一个很好的实例,展示了如何在Android应用中创建动态的落花效果以及字体颜色的平滑过渡。...

    java2d(中文教程)

    这个中文教程旨在帮助Java开发者更好地理解和掌握Java 2D API,以便在自己的应用中实现丰富的视觉效果。 Java 2D API 包含了大量的类和接口,主要用于绘制2D图形、文本和图像。它基于组件层次结构,允许开发者对...

Global site tag (gtag.js) - Google Analytics