「java图片渐变」构成图片渐变
本篇文章给大家谈谈java图片渐变,以及构成图片渐变对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何使用java设置LinearLayout背景为渐变色
- 2、在线等:java图片怎样使之渐变消失
- 3、在java中如何用类来实现图片的渐隐渐入不用javaScript
- 4、java中如何设置渐变的图案?
如何使用java设置LinearLayout背景为渐变色
至少有两种方案可以实现:
第一是使用背景图片,就是给Linearlayout添加一个background属性,值选择一张带渐变颜色的图片即可。
第二种方案是使用独立的颜色代码来替代上述一种的背景图片,比如可以在res/drawable下新建一个mycolor.xml,然后再在LinearLayout添加属性
android:background="@drawable/mycolor"即可
?xml version="1.0" encoding="utf-8"?
shape xmlns:android="
gradient
android:angle="270"
android:centerColor="#00FFFF"
android:centerX="0.5"
android:centerY="0。3"
android:endColor="#666666"
android:startColor="#0099FF" /
padding
android:bottom="7dp"
android:left="7dp"
android:right="7dp"
android:top="7dp" /
corners android:radius="4dp" /
/shape
解析:其中android:angle ="270.0"代表角度为270,由上到下的渐变,如果我改变成0那么就变成了从左到右的渐变,如果改变90.0那么渐变会从下边往上渐变,可以 多改变一下参数试试效果。centerColor中间颜色; centerX: x轴渐变中心,从左到右渐变时有意义;centerY: 同理y轴的渐变中心;endColor 渐变终点颜色,同样startColor为渐变起点颜色。
上述代码效果如下:
在线等:java图片怎样使之渐变消失
使用js定时器setTimeout()方法,定时三秒将要修改的图片的display设为none.
script type="text/javascript"
setTimeout(function(){//定时器
$("img").css("display","none");//将图片的display属性设置为none
},
3000);//设置三千毫秒即3秒
/script
你要是非要用java实现,可以试验下
public class Splash extends Canvas implements Runnable {
/**
* 声明变量
*/
public ScrawlMidlet midlet = null;
public ScreenControl scontrol;
private volatile Thread splashThread = null;
private long startTime;
private long endTime;
private int FRAME_TIME = 80;
private int width;
private int height;
private int alpha = 0;
private Image splashImage = null;
private int argb[];
private boolean isIn;
/**
* 构造函数
*/
public Splash(ScrawlMidlet midlet) {
this.midlet = midlet;
setFullScreenMode(true);
this.width = this.getWidth();
this.height = this.getHeight();
try {
splashImage = Image.createImage("/Image/lostz1.png");
} catch (java.io.IOException ex) {
System.out.println("闪屏中图片加载错误!");
}
argb = new int[splashImage.getWidth() * splashImage.getHeight()];
splashImage.getRGB(argb, 0, splashImage.getWidth(), 0, 0, splashImage.getWidth(), splashImage.getHeight());
isIn = true;
start();
}
public void start() {
splashThread = new Thread(this);
splashThread.start();
scontrol = new ScreenControl(midlet);
}
public void stop() {
splashImage = null;
splashThread = null;
System.gc();
Thread.yield();
}
public void paint(Graphics g) {
System.gc();
Thread.yield();
g.setColor(255, 255, 255);
g.fillRect(0, 0, width, height);
if (isIn) {
if (alpha 255) {
for (int i = 0; i argb.length; i++) {
argb[i] = (alpha 24) | (argb[i] 0x00FFFFFF);
}
g.drawRGB(argb, 0, splashImage.getWidth(), (width - splashImage.getWidth()) / 2,
(height - splashImage.getHeight()) / 2, splashImage.getWidth(), splashImage.getHeight(), true);
alpha += 15;
} else {
isIn = false;
g.drawImage(splashImage, width / 2, height / 2, Graphics.VCENTER | Graphics.HCENTER);
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
} else {
if (alpha = 0) {
for (int i = 0; i argb.length; i++) {
argb[i] = (alpha 24) | (argb[i] 0x00FFFFFF);
}
g.drawRGB(argb, 0, splashImage.getWidth(), (width - splashImage.getWidth()) / 2,
(height - splashImage.getHeight()) / 2, splashImage.getWidth(), splashImage.getHeight(), true);
alpha -= 15;
} else {
finish();
}
}
}
public void run() {
try {
Thread currentThread = Thread.currentThread();
while (currentThread == splashThread) {
startTime = System.currentTimeMillis();
repaint(0, 0, width, height);
serviceRepaints();
endTime = System.currentTimeMillis();
if (endTime - startTime FRAME_TIME) {
Thread.sleep(FRAME_TIME - (endTime - startTime));
}
}
} catch (InterruptedException ie) {
System.out.println(ie.toString());
}
}
private void finish() {
stop();
if (scontrol == null) {
scontrol = new ScreenControl(midlet);
} else {
scontrol.show();
}
}
}
在java中如何用类来实现图片的渐隐渐入不用javaScript
淡入淡出Swing组件
/**
* 淡入淡出式显示内容组件的容器
* @author William Chen
*/
public class GlassBox extends JComponent implements ActionListener{
//常数定义
private static final int ANIMATION_FRAMES=50;
private static final int ANIMATION_INTERVAL=10;
//帧索引
private int frameIndex;
//时钟
private Timer timer;
/** Creates a new instance of GlassBox */
public GlassBox() {
}
public void paint(Graphics g){
if(isAnimating()){
//根据当前帧显示当前透明度的内容组件
float alpha=(float)frameIndex/(float)ANIMATION_FRAMES;
Graphics2D g2d=(Graphics2D)g;
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
//Renderer渲染机制
super.paint(g2d);
}else{
//如果是第一次,启动动画时钟
frameIndex=0;
timer=new Timer(ANIMATION_INTERVAL, this);
timer.start();
}
}
//判断当前是否正在进行动画
private boolean isAnimating(){
return timer!=null timer.isRunning();
}
//关闭时钟,重新初始化
private void closeTimer() {
if(isAnimating()){
timer.stop();
frameIndex=0;
timer=null;
}
}
//动画时钟处理事件
public void actionPerformed(ActionEvent e) {
//前进一帧
frameIndex++;
if(frameIndex=ANIMATION_FRAMES)
//最后一帧,关闭动画
closeTimer();
else//更新当前一帧
repaint();
}
}
java中如何设置渐变的图案?
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class Example6_6 extends JFrame
{
public Example6_6()
{
super("设置线条粗细");
setSize(300,180);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new Example6_6();
}
public void paint(Graphics g)
{
Graphics2D g_2d=(Graphics2D)g;
GradientPaint gradient_1=new GradientPaint(0,10,Color.black,50,50,Color.yellow,false);
g_2d.setPaint(gradient_1);
Rectangle2D rect_1=new Rectangle2D.Double(0,10,50,50);
g_2d.fill(rect_1);
GradientPaint gradient_2=new GradientPaint(60,60,Color.red,150,50,Color.white,true);
g_2d.setPaint(gradient_2);
Rectangle2D rect_2=new Rectangle2D.Double(60,60,150,50);
g_2d.fill(rect_2);
}
}
java图片渐变的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于构成图片渐变、java图片渐变的信息别忘了在本站进行查找喔。