前段有牛人写了很多SWING的应用效果,觉得SWING实在是不可小视。嘿嘿,没事写着玩,不要跟牛人相比,看了你才知道真的可以用代码制造出来绚烂的效果。也许我们中的每一个都可以。
看了那个《飞屋环游记》的文章后,想再完善里边的云彩,如果可以用代码制造出来随机生成、色彩斑斓的祥云,代替呆板的静态底图,那这也是为牛人的补充啊。
不管咋样,最后做出来的效果也还差强人意:
这个祥云的动画效果主要关键点是云彩形状的控制,云彩位置的动画(制造动画的效果)和颜色的随机分配和透明度设置问题。分开来好好解决这三个问题,这个最终效果就出来了。随机分配都是用了别人产品的,不过一下子就好简单了。
云彩形状的控制:
Area shape = null;
for (int i = 0; i < 10; i++) {
int w = 100 + TWaverUtil.getRandomInt(200);
int h = 50 + TWaverUtil.getRandomInt(100);
int offsetSeed = 100;
int xOffset = TWaverUtil.getRandomInt(offsetSeed) - offsetSeed;
int yOffset = TWaverUtil.getRandomInt(offsetSeed / 4) - offsetSeed / 4;
Area circle = new Area(new Ellipse2D.Double(centerX + xOffset, centerY + yOffset, w, h));
if (shape == null) {
shape = circle;
} else {
shape.add(circle);
}
}
//transform.
Rectangle bounds = shape.getBounds();
double xScale = width / bounds.getWidth();
double yScale = height / bounds.getHeight();
AffineTransform at = AffineTransform.getScaleInstance(xScale, yScale);
return at.createTransformedShape(shape);
颜色的随机分配问题:
TWaverUtil.getRandomAlphaColor(),
透明度设置:
int a1 = mPointColor.getAlpha();
int a2 = mBackgroundColor.getAlpha();
return ( ( (a1 & a2) == 0xff) ? OPAQUE : TRANSLUCENT);
附带上比较全的代码,牛人手下留情啊
分享到:
相关推荐
《风云二号卫星云图查看源码解析》 在当今科技日新月异的时代,卫星云图已经成为气象预报和环境监测的重要工具。风云二号是中国自主研发的气象卫星系列,其提供的卫星云图数据对天气预报、灾害预警以及气候变化研究...
在MATLAB中,云图(Cloud Chart)是一种用于可视化多维数据的有效方法,尤其是在处理大量温度数据时。本文将深入探讨如何使用MATLAB来创建云图,特别关注于温度数据的表示、等值线绘制、插值技术以及图例的添加。 ...
本案例聚焦于C#在数据可视化方面的一个实践,即“云图”(Word Cloud)绘制。云图是一种信息图形,通过使用不同大小和颜色的字体来表示词汇的重要性,常用于展示文本数据,如报告摘要、社交媒体分析或新闻热点等。 ...
有限元二维静力计算程序,采用四节点线性单元,可以显示变形和应力云图。
使用距离反比插值函数实现插值,绘制不规则区域的云图
在本文中,我们将深入探讨如何使用Windows Presentation Foundation (WPF) 创建一个云图控件,以实现具有不同样式的云图展示。WPF是.NET框架的一部分,它为开发富客户端应用程序提供了强大的支持,包括丰富的图形...
Tecplot 从散点图生成 2D 云图的方法 Tecplot 是一款强大的数据可视化软件,广泛应用于科学计算、工程仿真、数据分析等领域。今天,我们将学习如何使用 Tecplot 从散点图生成 2D 云图,掌握这项技术可以帮助我们更...
在本文中,我们将深入探讨如何使用C#编程语言来创建三维云图,这主要基于提供的“C#绘制三维云图源代码和测试项目”。这个项目包含了一个完整的Visual Studio(VS)解决方案,源代码以及用于测试的数据,使得我们...
三维有限元静力问题分析程序,用Matlab编写,采用20节点3维单元,可绘制应力云图。
Origin支持多种数据输入方式和图形输出格式,并可以进行三维图形的绘制,例如三维云图。本知识点将介绍使用Origin软件绘制三维云图的步骤,帮助用户更好地掌握软件操作,并在实际工作中能够快速准确地生成所需的图形...
在IT领域,云图算法是一种数据可视化技术,它将数据以云状的形式展现,以便于人们更直观地理解和分析大量复杂信息。云图通常由多个大小不一、形状各异的“云”组成,每个“云”代表一个数据项,云的大小、形状和颜色...
基于QT - SOCKET 的 C++ 实现矩阵压力数据采集及压力云图现实。 基于QT - SOCKET 的 C++ 实现矩阵压力数据采集及压力云图现实。 基于QT - SOCKET 的 C++ 实现矩阵压力数据采集及压力云图现实。 基于QT - SOCKET 的 ...
VTK云图代码,可以显示彩色云图,已用 VC++调试通过。
本主题聚焦于“电机效率云图”的绘制,这是一个利用三维插值技术来展示电机效率分布的有效方法。我们将深入探讨这个过程以及涉及到的相关知识点。 首先,“areamap”在数学和工程中通常指区域映射,它是一种将二维...
在Python编程领域,制作天气气象云图是一种常见的应用,它涉及到数据处理、图像可视化和遥感技术。本项目主要是利用Python来解析气象卫星数据,并绘制出全圆盘真彩图和单通道红外图,以便更好地理解和分析天气状况。...
### MATLAB绘制三维云图详解 #### 一、引言 在数据分析与可视化领域,MATLAB是一种广泛使用的工具,尤其在科学计算、工程分析以及数据可视化方面具有强大的功能。本篇文章将详细介绍如何使用MATLAB绘制三维云图...
中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图管理程序中国云图...
"风云二号气象卫星云图.zip"是一款基于.NET框架的软件源码,它利用了先进的气象数据处理技术,能够实时获取并展示风云二号气象卫星的云图信息。这款程序的核心功能是每半小时自动更新一次卫星图像,为用户提供最新的...
本文将深入探讨如何利用ArcGIS API来实现雷达云图的播放功能。 首先,让我们关注标题中的"arcgis雷达云图播放"。这指的是使用ArcGIS API来展示和动态播放气象雷达云图的过程。雷达云图是通过雷达设备捕捉到的降水...