已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
package multimediademo;import .*;import java.applet.*;import java.applet.Applet;import java.awt.image.*;import java.awt.*;import multimediademo.ImageFilter;import javax.swing.*;/* * Title: * Description: * Copyright: Copyright (c) 2003 * Company: * author not attributable * version 1.0 */public class DemoThread extends Thread /*类变量* /四个私有变量:滚动面板对象、图像类对象、图形对象和动画类型值 private JScrollPane m_scroll; private Image sourceImage, filteredImage; private Graphics m_graph; /1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 private int m_demoType; /申明一个图像过滤器 /ImageFilter imageFilter; /定义初始点 int startX = 50; int startY = 50; boolean REPAINT_MARK; int imageWidth,imageHeight; int panelWidth,panelHeight; int m_imageWidth,m_imageHeight; int STEP = 10; /*类方法* /默认构造函数 public DemoThread() /重载构造函数 public DemoThread(Image image,JScrollPane scrollPanel,int demoType) /给私有变量赋值 sourceImage = image; filteredImage = image; m_scroll = scrollPanel; m_demoType = demoType; /获取图形对象 m_graph = m_scroll.getGraphics(); /获取面板对象和图像的尺寸 imageWidth = filteredImage.getWidth(Component)m_scroll); imageHeight = filteredImage.getHeight(Component)m_scroll); panelWidth = m_scroll.getWidth(); panelHeight = m_scroll.getHeight(); /重载线程操作函数 public void run() initializeRun(); /moveDirect表示图像水平移动的方向:取true表示由左向右移动,false则表示相反的方向 boolean moveDirect = true; while(true) /画动画的第一副图像 if(!REPAINT_MARK) m_graph.drawImage(filteredImage,startX,startY,m_imageWidth,m_imageHeight,m_scroll); try Thread.sleep(1000); catch(InterruptedException e) REPAINT_MARK = true; /画动画的其他图像: /m_demoType表示动画类型,1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 else switch (m_demoType) /水平移动缩放动画 case 1: if(moveDirect) /图像由左向右移动并缩小 m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); startX += STEP; /判断动画移动是否反向 if (startX + m_imageWidth) panelWidth) startX -= STEP; moveDirect = false; m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); try Thread.sleep(1000); catch(InterruptedException e) else m_imageWidth = (int) (m_imageWidth * 0.9); m_imageHeight = (int) (m_imageHeight * 0.9); startY = (panelHeight - m_imageHeight) / 2; m_graph.drawImage(filteredImage, startX, startY, m_imageWidth, m_imageHeight, m_scroll); /图像由右向左移动并放大 else m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); startX -= STEP; /判断动画移动是否反向 if(startX 10) moveDirect = true; startX += STEP; m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); else m_imageWidth = (int) (m_imageWidth / 0.9); m_imageHeight = (int) (m_imageHeight / 0.9); startY = (panelHeight - m_imageHeight) / 2; m_graph.drawImage(filteredImage, startX, startY, m_imageWidth, m_imageHeight, m_scroll); break; /不擦除平移动画 case 2: /不擦除显示动画 if(moveDirect) STEP = m_imageWidth + 10; startX += STEP; if ( (startX + m_imageWidth) = panelWidth) m_imageWidth = (int) (m_imageWidth * 0.9); m_imageHeight = (int) (m_imageHeight * 0.9); startY = (panelHeight - m_imageHeight) / 2; m_graph.drawImage(filteredImage, startX, startY, m_imageWidth, m_imageHeight, m_scroll); else startX -= STEP; moveDirect = false; /逐一擦除图像 else m_graph.clearRect(startX-10,startY-10,m_imageWidth+15, m_imageHeight+15); m_imageWidth = (int) (m_imageWidth / 0.9) ; m_imageHeight = (int) (m_imageHeight / 0.9); startY = (panelHeight - m_imageHeight) / 2; STEP = m_imageWidth + 10; startX -= STEP; if(startX 200) m_imageWidth = 200; if(m_imageHeight 200) m_imageHeight = 200; /m_demoType表示动画类型,1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 switch(m_demoType) case 1: startX = 10; startY = (panelHeight - m_imageHeight)/2; STEP = 50; break; case 2: startX = 10; startY = (panelHeight - m_imageHeight)/2; break; /* case 3: imageFilter = new ImageFilter(); m_imageWidth
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级下册科学教学设计-第三单元第19课时《探究技能:体积的测量》 粤教版
- 篮球行进间低手上篮 教学设计-2025-2026学年高一上学期体育与健康人教版必修第一册
- 语文园地四教案
- 我有我潜能 教学设计2023-2024学年高一上学期心理健康教育课
- 教学设计+教学设计-2023-2024学年高一上学期物理人教版(2019)必修第一册
- 人教版高中地理必修二第四章第二节《工业地域的形成》教学设计
- 2026年湘阴县医疗事业单位人员招聘笔试参考题库及答案解析
- 2026年新宾满族自治县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年扶绥县带编教师招聘笔试备考题库及答案解析
- 2026年定结县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026盐城市国资委直属事业单位公开选调工作人员考试参考题库及答案详解
- 2026 年秋季开学大学军训网络文明行为教育课件
- 24J113-1 内隔墙-轻质条板(一)
- GB/T 16432-2025康复辅助器具分类和术语
- 锂电池专用湿法隔膜生产线项目商业计划书
- 漂浮导管的应用和护理
- 项目四 编制设绘生产计划线表建造周期表船台吊装网络图
- GB/T 9694-2014皮蛋
- GB/T 8804.2-2003热塑性塑料管材拉伸性能测定第2部分:硬聚氯乙烯(PVC-U)、氯化聚氯乙烯(PVC-C)和高抗冲聚氯乙烯(PVC-HI)管材
- 农村幼儿园简介六篇
- DB12T 217-2005 脉冲干粉自动灭火装置配置设计及安装规范
评论
0/150
提交评论