`

播放图片的类

 
阅读更多
public class GGView extends View {
	int COMPONENT_WIDTH;							//该控件宽度
	int COMPONENT_HEIGHT;							//该控件高度
	boolean initflag=false;								//是否要获取控件的高度和宽度标志
	static Bitmap[] bma;										//需要播放的图片的数组
	Paint paint;										//画笔
	 int[] drawablesId;									//图片ID数组
	int currIndex=0;										//图片ID数组下标,根据此变量画图片
	boolean workFlag=true;								//播放图片线程标志位
	public GGView(Context father,AttributeSet as) { 			//构造器
		super(father,as);								
		drawablesId=new int[]{						//初始化图片ID数组
			R.drawable.adv1,							//将需要播放的图片ID放于此处即可
			R.drawable.adv2,	
			R.drawable.adv3,	
			};
		bma=new Bitmap[drawablesId.length];				//创建存放图片的数组
		initBitmaps();									//调用初始化图片函数,初始化图片数组
		paint=new Paint();								//创建画笔
		paint.setFlags(Paint.ANTI_ALIAS_FLAG);				//消除锯齿	
		new Thread(){									//创建播放图片线程
			public void run(){
				while(workFlag){
					currIndex=(currIndex+1)%drawablesId.length;//改变ID数组下标值
					GGView.this.postInvalidate();			//绘制
					try {
						Thread.sleep(3000);				//休息三秒
					} catch (InterruptedException e) {						
						e.printStackTrace();
					}}}}.start();							//启动线程
	}	
	public void initBitmaps(){								//初始化图片函数
		Resources res=this.getResources();					//获取Resources对象
		for(int i=0;i<drawablesId.length;i++){					
			bma[i]=BitmapFactory.decodeResource(res, drawablesId[i]);
		}}	
	public void onDraw(Canvas canvas){						//绘制函数
		if(!initflag) {									//第一次绘制时需要获取宽度和高度
			COMPONENT_WIDTH=this.getWidth();			//获取view的宽度
			COMPONENT_HEIGHT=this.getHeight();			//获取view的高度
			initflag=true;
		}
		int picWidth=bma[currIndex].getWidth();				//获取当前绘制图片的宽度
		int picHeight=bma[currIndex].getHeight();				//获取当前绘制图片的高度
		int startX=(COMPONENT_WIDTH-picWidth)/2;			//得到绘制图片的左上角X坐标
		int startY=(COMPONENT_HEIGHT-picHeight)/2; 		//得到绘制图片的左上角Y坐标
		canvas.drawARGB(255, 200, 128, 128);				//设置背景色
		canvas.drawBitmap(bma[currIndex], startX,startY, paint);	//绘制图片
	}}

分享到:
评论

相关推荐

    QT打开图片文件夹快速播放图片

    本篇文章将深入探讨如何使用QT来实现一个功能,即在指定的图片文件夹中快速播放图片。 首先,我们需要了解QT中的关键组件和类,这将是我们实现图片播放的基础。`QGraphicsView`和`QGraphicsScene`是QT图形视图框架...

    Delphi 图片滚动播放

    在Delphi编程环境中,实现图片滚动播放功能是一项常见的任务,特别是在创建多媒体应用或者展示类软件时。本教程将深入探讨如何使用Delphi 7.0来实现这一功能,包括图片的加载、显示以及循环播放机制。 首先,我们...

    Qt循环播放一组图片

    在循环播放图片的场景中,`QLabel`可以作为图片的容器。`QLabel`可以与`QPixmap`结合使用,`QPixmap`是Qt用来处理图像的基本类,支持加载、保存、缩放和裁剪等操作。 以下是一个简单的步骤来实现Qt循环播放一组图片...

    一个播放GIF动态图片的MFC控件类

    本文将详细讲解如何利用MFC创建一个能够播放GIF动态图片的控件类,即`CPictureEx`,它从标准的`CStatic`类派生而来。 `CStatic`是MFC中用于显示静态文本或图像的基本控件,但默认情况下,它不支持播放GIF动画。为了...

    android自动播放图片

    在Android开发中,实现“自动播放图片”的功能是一项常见的需求,尤其在轮播广告、相册展示等场景中。这个功能通常涉及到多个知识点,包括图片加载库的使用、动画的实现以及视图的管理。以下将详细介绍这些核心知识...

    Java图片播放程序

    7. **IMAGES 文件夹**:这可能是存放待播放图片的目录,包含一系列的图像文件,格式可能是常见的JPEG、PNG或GIF等。程序在运行时会从这个文件夹中读取图片,并按照预设的顺序或用户选择的顺序进行播放。 总的来说,...

    QT定时播放图片程序

    要实现定时播放图片,可以使用Qt的定时器类`QTimer`。通过连接`QTimer::timeout`信号到一个槽函数,可以在每次定时器触发时更换显示的图片。可以设置定时器间隔以控制图片切换的频率。 4. **图片缩放** Qt提供`...

    Java 图片播放 音乐播放

    此外,如果希望同时播放图片和音乐,可以考虑在事件监听器中控制音乐的播放与暂停,如在图片切换时触发音乐的播放或停止。还可以通过维护一个歌曲列表来实现“下一首”功能。 总的来说,实现这个项目需要对Java基础...

    iOS视频图片混合轮播,支持视频播放和图片预览

    在iOS应用开发中,实现视频和图片的混合展示是一项常见的需求,特别是在制作新闻资讯、社交媒体或者个人相册类应用时。本项目标题“iOS视频图片混合轮播,支持视频播放和图片预览”揭示了一个功能完备的解决方案,它...

    WPF 图片自动播放

    这需要创建一个ViewModel类来存储图片源列表,并在XAML中设置DataContext。 总结来说,实现“WPF图片自动播放”涉及的知识点包括:WPF的基础概念,Image控件的使用,DispatcherTimer的计时功能,图片轮播逻辑,以及...

    C#图片自动播放浏览器

    【C#图片自动播放浏览器】是一款专为学习和展示图片设计的应用程序,它结合了列表显示、定时器功能以及图片框展示技术,为用户提供了便捷的图片浏览体验。这款软件的核心在于利用C#编程语言的强大功能,实现了图像的...

    自动播放图片原工程文件

    本文将详细探讨如何实现一个自动播放图片的功能,以及如何通过按钮控制图片的切换,以此来解析"自动播放图片原工程文件"的核心知识点。 首先,`AdapterViewFlipper`是Android SDK提供的一种视图翻转器,它可以用来...

    播放图片,图片可单独加动画

    本主题将详细探讨如何实现“播放图片”并为图片添加“Animation动画”,以达到增强用户体验的效果。我们将重点关注以下几个方面: 1. **图片加载与显示**: - 在Android系统中,通常使用`ImageView`组件来加载和...

    一个qt图片自动循环播放的小程序

    在本项目中,“一个qt图片自动循环播放的小程序”是一个利用Qt库创建的简单应用,它能自动播放一系列图片,对于初学者了解Qt的事件处理、窗口和控件的使用具有很好的学习价值。 首先,我们需要理解Qt中的关键概念,...

    C#实现图片浏览自动播放

    在C#编程环境中,开发一个图片浏览自动播放的应用是一个常见的任务,尤其对于图像处理或多媒体应用来说。这个项目中,开发者使用了ListView控件来实现这一功能。ListView控件是Windows Forms中的一个强大组件,它...

    asp.net 利用Ajax播放图片

    在这个"asp.net 利用Ajax播放图片"的示例中,我们将探讨如何利用Ajax技术来动态地加载和播放图片,而无需整个网页进行刷新。 首先,我们来看`Photo_Service.asmx`文件,这是一个ASP.NET的Web服务(Web Service),...

    js实现HTML图片播放

    总结起来,"js+jquery实现HTML页面上类似播放器一样的播放图片"项目涵盖了JavaScript基础、jQuery选择器与事件处理、DOM操作、CSS样式控制以及响应式设计等多个知识点。通过这个项目,开发者不仅可以提升JavaScript...

    QLabel载入图片,定时器轮流播放

    当我们需要在一个窗口中展示多张图片并实现轮流播放的效果时,可以借助QLabel和QTimer来实现这一功能。以下是一个详细的知识点说明: 1. **QLabel**:QLabel是Qt库中的一个类,用于在界面上显示文本或者图像。它...

    netbeans下Java编的图片管理系统,打开图片后实现自动播放功能

    4. 多线程:为了实现图片的自动播放,可能使用了`java.lang.Thread`或者`java.util.Timer`类,创建单独的线程或定时器来控制图片的切换。 5. 事件监听:通过设置按钮和窗口的事件监听器,捕捉用户的操作,如点击按钮...

    图片浏览器(Java实现) 自动播放图片

    本项目是用Java实现的图片浏览器,它具有自动播放图片的功能,给人一种观看动画片的体验。接下来,我们将深入探讨这个项目的相关知识点。 首先,我们要了解Java编程语言。Java是一种广泛使用的面向对象的编程语言,...

Global site tag (gtag.js) - Google Analytics