图片浏览器课程设计报告
(vb课程设计)图片浏览器修改
图片浏览器设计报告学院土木工程学院班级土木工程C076 学号074837 姓名郭少华成绩一、设计思路1.要达到的目的①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图picture模块hscrollbar模块pictureload三、部分程序关键源代码及注释Private Sub Form_Load()Drive1.Drive = App.PathDir1.Path = App.Path 'App 是当前的应用程序对象File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出图片文件。
Picture1.AutoSize = TruePicture2.AutoSize = True '设定自动缩放,适应PictureBox的大小。
= 2000= sbrCenter= 1800= sbrCenter= 2400= sbrCenter= 3000= sbrCenter '设定StatusBar的数量和属性End SubPrivate Sub Drive1_Change()On Error Resume NextDir1.RefreshDir1.Path = Drive1.DriveIf Err.Number = 68 ThenErr.ClearMsgBox "先将光盘插入!", , "提示"Exit SubEnd If '设定错误提示End SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub File1_Click()If Right(File1.Path, 1) <> "\" Thentempstring = File1.Path & "\" & File1.FileName '非根目录时,路径中的最后加上一个反斜杠"\"Elsetempstring = File1.Path & "\" & File1.FileNameEnd If '装入选定的文件。
图片浏览器课程设计报告.docx
图片浏览器设计报告学院土木工程学院班级测绘C111 学号 117544 姓名戴健健成绩一、设计思路1.要达到的目的①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图Private Sub Form_Load()Drive1.Drive = App.PathDir1.Path = App.Path'App 是当前的应用程序对象File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出图片文件。
Picture1.AutoSize = TruePicture2.AutoSize = True'设定自动缩放,适应PictureBox的大小。
'设定StatusBar的数量和属性End SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd subPrivate Sub HScroll1_Change()Picture1.ClsMax = 200Min = 1'设定滚动条的最大、最小值。
VB课程设计实验报告---图片浏览器
VB课程设计报告课程设计题目:图片浏览器目录VB课程设计报告 ...................................................................................................... - 1 -一.内容摘要 ................................................................................................................ - 3 -二.功能描述(含流程图) (3)2.1 流程图: (3)2.2 图片浏览器描述(1)............................................................................... - 4 -2.3 图片浏览器描述(2)............................................................................... - 4 -2.4 图片浏览器描述(3)............................................................................... - 4 -2.5 图片浏览器描述(4) (4)2.6 图片浏览器描述(5) (4)三.概要设计 (4)3.1 电子式图片浏览器 (4)四.详细设计 (5)4.1盘符,文件夹和文件列表的确定 (5)4.2图片显示时,盘符,文件夹和文件列表隐藏 (5)4.3 图片放大的确定 (5)4.4 图片缩小的确定 (5)4.5图片转换到上一张的确定 (6)4.6图片转换到下一张的确定 (6)五.效果及存在问题 (6)5.1程序的效果: (6)5.2显示图片的情况:....................................................................................... - 9 -5.3:图片浏览器扩大的情况:............................................ 错误!未定义书签。
图片浏览器课程设计报告书
'图片框加载选中的图片
Private Sub Form_Load() MMControl1.Enabled = True MMControl1.FileName = App.Path + "\as.mp3" mand = "Open" mand = "play" End Sub
'定义加载图片的原始高度,宽度
Private Sub clear_Click() I1.Picture = LoadPicture("") End Sub
'清除图片
Private Sub Command1_Click() I1.Stretch = True I1.Width = I1.Width / 1.5 I1.Height = I1.Height / 1.5 End Sub
DirListBox
FileListBox
Image
《软件设计基础(VB)》课程设计报告 ⑷代码实现
form1、首页 作用:“进入应用程序”。
第 6 页,共 14 页
所用控件:2 个 command 1 个 Filelistbox 1 个,Drivelistbox 1 个 Dirlistbox 1
'缩小图片
Private Sub Command2_Click() I1.Width = I1.Width * 1.5 I1.Height = I1.Height * 1.5 End Sub
'放大图片
Private Sub Dir1_Change()
《软件设计基础(VB)》课程设计报告
第 7 页,共 14 页
《软件设计基础(VB)》课程设计报告
图片浏览器vb课设报告doc
图片浏览器设计报告学院土木工程班级交通运输111 学号111391 姓名刁化尧成绩一、设计思路1.要达到的目的培养学生综合利用VB语言进行程序设计的能力,利用VB的图像控件进行界面设计的能力,用VB的鼠标事件进行控件的拖拽处理以及利用数组进行数据处理的能力。
2.关键问题的解决使用 Loadpicture 方法在图片框里加载符合格式要求的图片。
使用 FileListBox 方法来显示图片。
使用 PaintPicture 方法和改变滚动条的 Value 属性,使图片能够缩放。
使用 Timer 事件更改 FileListBox 的 ListCount 属性,使图片能自动浏览。
使用 MouseMove 事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图特别注意:根据自己题目的情况修改此图,可以更简单或者更复杂!流程特简单的可以没有这个部分。
三、部分程序关键源代码及注释1、文件夹和文件列表的确定Private Sub Dir1_Click()Form1.Text1.Text = Dir1.PathEnd SubPrivate Sub Drive1_Change()On Error Resume NextDir1.RefreshDir1.Path = Drive1.DriveIf Err.Number = 68 ThenErr.ClearMsgBox "请您先将光盘插入,谢谢。
", , "提示"Exit SubEnd IfForm1.Text1.Text = Drive1.DriveEnd SubPrivate Sub File1_Click()n = File1.Path & "\" & File1.FileName'装入选定的文件。
Picture1.Enabled = TruePicture2.Picture = LoadPicture(n)Picture1.PaintPicture Picture2.Picture _, 0, 0, Picture1.Width, Picture1.Height, _0, 0, Picture2.Width, Picture2.Height'设定图片的初始状态Picture2.Visible = Falsemysize = FileLen(Form2.Dir1.Path & "\" & File1.FileName)Picture2.ScaleMode = 3Text1.Text = File1.Path + "\" + File1'显示图片途径Text2.Text = "共" & File1.ListCount & "张" & "第" & File1.ListIndex + 1 & "张"'显示图片总数和当前图片的序号End Sub2、图片转换到上一张和下一张的确定Private Sub Command3_Click()n = File1.ListIndexn = ((File1.ListCount + (n - 1)) Mod File1.ListCount)File1.ListIndex = nPicture2.Picture = LoadPicture(File1.Path & "\" & File1.List(n))Picture1.Enabled = TruePicture1.PaintPicture Picture2.Picture _, 0, 0, Picture1.Width, Picture1.Height, _0, 0, Picture2.Width, Picture2.Height'设定图片的初始状态Picture2.Visible = Falsemysize = FileLen(Form2.Dir1.Path & "\" & File1.FileName)Picture2.ScaleMode = 3'翻到上一页End SubPrivate Sub Command4_Click()n = File1.ListIndexn = ((File1.ListCount + (n + 1)) Mod File1.ListCount)File1.ListIndex = nPicture2.Picture = LoadPicture(File1.Path & "\" & File1.List(n))Picture1.Enabled = TruePicture2.Picture = LoadPicture(File1.Path & "\" & File1.List(n))Picture1.Enabled = TruePicture1.PaintPicture Picture2.Picture _, 0, 0, Picture1.Width, Picture1.Height, _0, 0, Picture2.Width, Picture2.Height'翻到下一页End Sub3、转换到第一页和最后一页的确定Private Sub Command2_Click()File1.ListIndex = 0Picture2.Picture = LoadPicture(File1.Path & "\" & File1.List(0))Picture1.Enabled = TruePicture1.PaintPicture Picture2.Picture _, 0, 0, Picture1.Width, Picture1.Height, _0, 0, Picture2.Width, Picture2.Height'翻到第一页End SubPrivate Sub Command5_Click()n = File1.ListCountFile1.ListIndex = File1.ListCount - 1Picture2.Picture = LoadPicture(File1.Path & "\" & File1.List(n - 1)) Picture1.Enabled = TruePicture1.PaintPicture Picture2.Picture _, 0, 0, Picture1.Width, Picture1.Height, _0, 0, Picture2.Width, Picture2.Height'翻到最后一页End Sub4、自动浏览的确定Private Sub Command6_Click()If Command6.Caption = "自动浏览" ThenTimer1.Enabled = TrueCommand6.Caption = "停止浏览"ElseTimer1.Enabled = FalseCommand6.Caption = "自动浏览"End If'设定自动浏览End SubPrivate Sub Timer1_Timer()X = File1.ListIndexX = X + 1If X < File1.ListCount ThenFile1.Selected(X) = TrueCall File1_ClickElseFile1.ListIndex = 0End If'设定timer事件来自动浏览图片End Sub5、滚动条的确定Private Sub HScroll1_Change()Picture1.ClsMax = 200Min = 1Value = 200smallchang = 1largechang = 1Picture1.PaintPicture Picture2.Picture, 0, 0, _Picture1.Width * HScroll1.Value / 100, _Picture1.Height * HScroll1.Value / 100, 0, 0, _Picture2.Width, Picture2.Height'使用滚动条缩放图片End Sub6、鼠标拖动图片的确定Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) X1 = XY1 = YEnd SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)X2 = XY2 = YX3 = X3 + X2 - X1Y3 = Y3 + Y2 - Y1Picture1.ClsIf HScroll1.Value <> 100 Then'使用鼠标移动图片Picture1.PaintPicture Picture2.Picture, X3, Y3, _Picture1.Width * HScroll1.Value / 100, _Picture1.Height * HScroll1.Value / 100'使用PaintPicture方法ElsePicture1.PaintPicture Picture2.Picture, X3, Y3, _Picture1.Width, Picture1.HeightEnd IfPicture2.Visible = FalseEnd Sub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①没有对错误文件的处理②当图片过大时不能全部显示③界面不够美观2. 目前存在的问题①片信息显示不是很完善②鼠标拖动效果不理想③图片不能铺满图片框五、本次设计的收获及心得体会真正了解了vb的含义和用途。
图片浏览器的课程设计报告
电子信息工程专业课程设计题单班级 0882053 学生张彬彬课程名称专业课程设计课题图片浏览器的实现设计要求利用visual C#开发工具实现一图片浏览器。
要求完成以下功能:1、打开多张图片,可以控制前后图片的浏览2、可以设置图片的显示方式:全屏或置顶等3、在运行状态中隐藏界面,显示在托盘程序中课题发给日期 2011-6-10 课程设计完成日期 2011-6-21 指导教师方芳等评语:评分:摘要此次课程设计的课题是图片浏览器,通过Visual Studio软件完成。
拿到课题感觉不是很难,只需要用pictureBox1将图片显示出来。
但当开始编程序的时候,就发现了不少问题。
比如说:如何将图片地址全部扫描进来,并存储、什么是在运行状态中隐藏界面,显示在托盘程序中等等都是课本上没有的或者以前没学过的。
于是我们通过图书馆查阅资料,参考程序并在老师的指导下将课题完成了,实现了图片的上一张下一张浏览、放大、缩小、全屏、等要求的功能,并添加了定时器,能实现简单的循环播放功能。
关键字:图片浏览器、全屏、上一张、下一张目录摘要 (2)第一章流程图及功能描述 (3)第二章概要设计及详细设计 (4)第三章调试及结果分析 (8)第四章总结 (13)第五章参考文献 (14)附录程序代码 (15)第一章流程图及功能描述1.1流程图图片浏览器程序流程图1.2功能描述运行程序后如不查找图片所在文件夹,则不能使用。
查找后,将文件夹内JPG、GIF等格式的图片地址扫描存储在listbox内,通过改变其索引实现上下张浏览等功能,扩大缩小等功能则是通过改变pictureBox1的高宽来实现的。
第二章概要设计及详细设计2.1 概要设计利用visual C#设计一个图片浏览器,能完成浏览的基本功能。
2.2 详细设计a:扫描文件夹图片FolderBrowserDialog folder = new FolderBrowserDialog();if (folder.ShowDialog() == DialogResult.OK){listBox1.Items.Clear();PPath = folder.SelectedPath;DirectoryInfo Dinfo = new DirectoryInfo(PPath);FileSystemInfo[] FSinfo = Dinfo.GetFileSystemInfos();for (int i = 0; i < FSinfo.Length; i++){string FileType =FSinfo[i].ToString().Substring(FSinfo[i].ToString().LastIndexOf(".") + 1, (FSinfo[i].ToString().Length -FSinfo[i].ToString().LastIndexOf(".") - 1));FileType = FileType.ToLower();if (FileType == "jpg" || FileType == "png" || FileType == "bmp" ||FileType == "gif" || FileType == "jpeg"){listBox1.Items.Add(FSinfo[i].ToString());}}b:图片的放大if (pictureBox1.Height <= 800 && pictureBox1.Width <= 1000){pictureBox1.Height = pictureBox1.Height * 2;pictureBox1.Width = pictureBox1.Width * 2;}c:图片的缩小if (pictureBox1.Height >= 40 && pictureBox1.Width >= 60){pictureBox1.Height = pictureBox1.Height / 2;pictureBox1.Width = pictureBox1.Width / 2;}d:图片的上下张浏览try{if (listBox1.SelectedIndex != 0){ button4.Enabled = true;listBox1.SetSelected(listBox1.SelectedIndex - 1, true);}else button1.Enabled = false;}catch { }pictureBox1.Image = Image.FromFile(PPath + "\\" +listBox1.SelectedItem);}//当浏览到最后一张时下一张功能失效try{if (listBox1.SelectedIndex < listBox1.Items.Count - 1) {button1.Enabled = true;listBox1.SetSelected(listBox1.SelectedIndex + 1, true);}else button4.Enabled = false;}catch { }pictureBox1.Image = Image.FromFile(PPath + "\\" +listBox1.SelectedItem);}//当浏览到最后一张时下一张功能失效e:全屏及还原(对API不太了解所以直接将实验室电脑屏幕大小赋给picturebox)if (button6.Text == "全屏"){button6.Text = "还原";pictureBox1.Height = 690;pictureBox1.Width = 1280;}else{button6.Text = "全屏";pictureBox1.Height = 440;pictureBox1.Width = 429;}f:显示在托盘中在窗体中放置notifyIcon控件,导入图标。
图片浏览器(java版)
图片浏览器(后面附有完整代码)一、需求分析1、首先。
因为要显示图片所以要先有一个界面;用JFrame;2、因为要能显示选定文件夹内的图片,所以要有一个文件夹选择器;用JTree;3、显示图片的滚动面板;用JScrollPane;4、因为要对图片进行分类,所以要设计分类模块;5、因为要对图片进行备份,所以要设计备份模块;6、因为要对图片进行幻灯播放,所以要设计幻灯播放模块;二、概要设计本次课程设计模块图、系统流程图:三、运行环境、开发语言操作系统:Windows XP 专业版 32位 SP3 ( DirectX 9.0c )开发工具:MyEclipse开发语言:java四、详细设计1 程序清单String pt;鼠标点击的图片的绝对路径File[] files2;面板上正在显示的图片文件JLabel[] imageLabel;图片绑定的JLabel控件组JLabel jlabel,jimageLabel; 图片绑定的JLabel控件JPanel jp1,jp2,jp3;显示不同内容的面板JButton[] jb;按钮数组private JTree tree;文件夹选择树private JScrollPane jsp1,jsp2,jsp3;滚动面板Timer timer;计时器public PictureDir()类的构造函数WindowAction窗体事件TreeSelect文件夹选择树事件FileDidianListener分类为地点事件FileRenwuListener分类为人物事件FileXiangceListener分类为相册事件FileQitaListener分类为其它事件FileZipListener备份事件FileBackListener还原事件MouseAction鼠标点击事件FileStartListener幻灯片播放事件JCAction显示分类图片事件read(String)读文件函数save(String,String)写文件函数unzip(String,String)解压缩函数resizeIcon(ImageIcon,JLabel)控制图片显示大小的函数deleteFile(File)删除文件函数main(String[])主函数2 主要代码整个程序的界面如下图:2.1 选择文件夹功能class TreeSelect implements TreeSelectionListener{public void valueChanged(TreeSelectionEvent e) {TreePath path=e.getPath();DefaultMutableTreeNodenode=(DefaultMutableTreeNode)path.getLastPathComponent();Object userObject=node.getUserObject();if(!(userObject instanceof File)){return;}File folder=(File)userObject;if(!folder.isDirectory())return;File[] files1=initImageSets1(folder);for(File file:files1){node.add(new DefaultMutableTreeNode(file));}files2=initImageSets2(folder);for(int i=0;i<imageLabel.length;i++){imageLabel[i].setIcon(null);imageLabel[i].setBorder(null);}for(int i=0;i<files2.length;i++){imageLabel[i].setIcon(newImageIcon(files2[i].toString()));imageLabel[i].addMouseListener(new MouseAction());imageLabel[i].setName(String.valueOf(i));resizeIcon(newImageIcon(files2[i].toString()),imageLabel[i]);}}private File[] initImageSets1(File pictureDir){return pictureDir.listFiles(new FilenameFilter(){public boolean accept(File dir,String name){if(!new File(dir,name).isFile())return true;elsereturn false;}});}private File[] initImageSets2(File pictureDir){return pictureDir.listFiles(new FilenameFilter(){public boolean accept(File dir,String name){if(!new File(dir,name).isFile())return false;String lowserName=name.toLowerCase();if(lowserName.endsWith("jpg")||lowserName.endsWith("jpeg") ||lowserName.endsWith("gif")||lowserName.endsWith("png")||lowserName.endsWith("GIF")||lowserName.endsWith("TIFF")||lowserName.endsWith("ICO")||lowserName.endsWith("BMP")){return true;}return false;}});}}结果:2.2图片分类功能class FileDidianListener implements ActionListener{public void actionPerformed(ActionEvent e) {try {save(pt,"didian.txt");JOptionPane.showMessageDialog(null,"分类为“地点”完成!");} catch (Exception e1) {e1.printStackTrace();}}}class FileRenwuListener implements ActionListener{public void actionPerformed(ActionEvent e) {try {save(pt,"renwu.txt");JOptionPane.showMessageDialog(null,"分类为“人物”完成!");} catch (Exception e1) {e1.printStackTrace();}}}private DefaultMutableTreeNode rootNode;class FileXiangceListener implements ActionListener{public void actionPerformed(ActionEvent e) {try {save(pt,"xiangce.txt");JOptionPane.showMessageDialog(null,"分类为“相册”完成!");} catch (Exception e1) {e1.printStackTrace();}}}class FileQitaListener implements ActionListener{public void actionPerformed(ActionEvent e) {try {save(pt,"qita.txt");JOptionPane.showMessageDialog(null,"分类为“其它”完成!");} catch (Exception e1) {e1.printStackTrace();}}}结果:2.3图片备份和还原功能class FileZipListener implements ActionListener{public void actionPerformed(ActionEvent e) {try {int a=0;File file1=new File(pt);File file2=new File("imagesdata.zip");File f=new File("D:/1/3/5");f.mkdirs();if(!file2.exists()){file2.createNewFile();a=1;}elseunzip("imagesdata.zip","D:/1/3/5");FileOutputStream fos= new FileOutputStream(file2);ZipOutputStream zos=new ZipOutputStream(fos);byte[] buffer=new byte[1024];if(a==0){File[] files=f.listFiles();File[] filess=new File[files.length+1];for(int i=0;i<files.length;i++){filess[i]=files[i];}filess[filess.length-1]=file1;for (int i = 0; i < filess.length; i++) {String[] st=filess[i].getName().split(".");for(int j=0;j<st.length;j++){JOptionPane.showMessageDialog(null,j+"="+st[j]);}ZipEntry entry=new ZipEntry(newDate().getTime()+filess[i].getName());FileInputStream in = newFileInputStream(filess[i]);zos.putNextEntry(entry);int len;while ( (len = in.read(buffer)) > 0) {zos.write(buffer, 0, len);}zos.closeEntry();in.close();}}if(a==1){ZipEntry entry=new ZipEntry(newDate().getTime()+file1.getName());FileInputStream fis=new FileInputStream(file1);zos.putNextEntry(entry);int read=0;while((read=fis.read(buffer))!=-1){zos.write(buffer,0,read);}zos.closeEntry();fis.close();}zos.close();fos.close();JOptionPane.showMessageDialog(null,"备份完成!");deleteFile(f);} catch (Exception e1) {e1.printStackTrace();JOptionPane.showMessageDialog(null,"备份失败!");File f=new File("D:/1/2/3");deleteFile(f);}}}class FileBackListener implements ActionListener{public void actionPerformed(ActionEvent e) {JFileChooser chooser1;chooser1=new JFileChooser();chooser1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);chooser1.setCurrentDirectory(new File("."));int result=chooser1.showOpenDialog(new JFrame());File file=chooser1.getSelectedFile();if(result==JFileChooser.APPROVE_OPTION);{t ry{unzip("imagesdata.zip" ,file.toString());}catch (IOException e1) {e1.printStackTrace();}}}}结果:2.4 幻灯片播放功能class FileStartListener implements ActionListener{public void actionPerformed(ActionEvent e){JFrame f;JPanel j;JButton startBtn;JButton stopBtn;startBtn=new JButton("继续");startBtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ee){if(timer!=null)timer.start();}});stopBtn=new JButton("暂停");stopBtn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent ee){if(timer!=null)timer.stop();}});f=new JFrame();j=new JPanel();f.setSize(800,700);f.setLocation(300,50);f.setVisible(true);Container c=f.getContentPane();c.add(new JScrollPane(jimageLabel));j.add(startBtn);j.add(stopBtn);c.add(j,"South");if(files2.length==0)return;timer=null;timer=new Timer(200,new ActionListener(){int index=0;public void actionPerformed(ActionEvent el){jimageLabel.setIcon(new ImageIcon(newImageIcon(files2[index].toString()).getImage().getScaledInstance(750,600, Image.SCALE_SMOOTH)));index++;index%=files2.length;}});timer.setCoalesce(true);timer.setDelay(3*500);timer.start();}}结果:五、调试与分析1、首先遇到的问题是,如何在同一个面板上显示多张图片?解决办法:将多个用于显示图片的JLabel控件,添加到JScollPanel控件中。
资料:vb图片浏览器报告书
河北工业大学计算机软件技术基础(VB )课 程 设 计 报 告 书学院 土木工程 班级 交通运输051 设计人 吴会博 学号 051318一、 设计题目:图片浏览器程序二、 设计思路:建立两个窗体,在窗体1选择图片,窗体2中显示图片。
在窗体1上建立DirListBox 、 DriveListBox 、 FileListBox 、PictureBox 、commandbutton 等控件。
DriveListBox , DirListBox , FileListBox 用于选择图片。
若选择的路径下有适合的图片格式则在FileListBox 中显示出来。
若不合适则不显示。
Commandbutton 用于关闭浏览器。
控件大小随窗体大小可变化。
PictureBox 建在窗体2中用于显示图片。
窗体大小随图片大小变化而变化。
单击窗体1中的图片由Form2.Picture1.Picture = LoadPicture(Form1.File1.FileName)在PictureBox 中显示出来。
三、 过程调用关系: 四、 程序清单: Form1 (文件选择):Option ExplicitDim w As Single '记录原窗体宽度和高度的变量Dim h As SingleDim ww() As SingleDim hh() As SingleDim mleft() As Single '记录原窗体中个控件的宽度,高度,起始坐标点的数组 Dim mtop() As SinglePrivate Sub Command1_Click()End '结束程序End SubPrivate Sub Dir1_Change()File1.Path = Dir1.Path '取得当前文件夹的文件End SubDirListBox FileListBoxPictureBoxDriveListBoxPrivate Sub Drive1_Change()On Error GoTo eva '错误处理!Dir1.Path = Drive1.Drive '取得当前驱动器下的文件夹Exit Subeva: Drive1.Drive = "C" '错误处理跳转!ResumeEnd SubPrivate Sub File1_Click()ChDrive Drive1.Drive '改变当前用户选择目录为工作目录!ChDir Dir1.PathFile1.Pattern = "*.bmp;*.jpg;*.gif"Form2.Picture1.Picture = LoadPicture(Form1.File1.FileName) '显示图象Form2.Width = Form2.Picture1.WidthForm2.Height = Form2.Picture1.Height '窗体大小随图片大小变化End SubPrivate Sub Form_Load()w = Me.Widthh = Me.HeightReDim ww(0 To Count)ReDim hh(0 To Count) '记录原窗体个控件的宽度,高度,起始坐标点ReDim mleft(0 To Count)ReDim mtop(0 To Count)Dim i As SingleFor i = 0 To Count - 1ww(i) = Me.Controls(i).Widthhh(i) = Me.Controls(i).Heightmleft(i) = Me.Controls(i).Leftmtop(i) = Me.Controls(i).TopNext iFile1.Pattern = "*.bmp;*.jpg;*.gif"Form1.Height = Screen.Height '设置窗体高度App.Title = "" '消除在任务管理器里的应用程序显示Move 0, 0 '设置窗体在屏幕左上角Form2.ShowEnd SubPrivate Sub Form_Resize()Dim j As SingleDim k As SingleDim i As Singlej = Me.Width / wk = Me.Height / h '记录调整比例For i = 0 To Me.Count - 1Command1.Width = ww(i) * jCommand1.Height = hh(i) * k * 2Command1.Left = mleft(i) * j + 300Command1.Top = mtop(i) * k + 6000Dir1.Width = ww(i) * j + 600Dir1.Height = hh(i) * k * 10Dir1.Left = mleft(i) * jDir1.Top = mtop(i) * k + 300File1.Width = ww(i) * jFile1.Height = hh(i) * k * 10File1.Left = mleft(i) * j + 2500File1.Top = mtop(i) * k + 300Drive1.Width = ww(i) * j + 600Drive1.Left = mleft(i) * jDrive1.Top = mtop(i) * kNext iEnd SubForm2 (图象显示):Option ExplicitPrivate Sub Form_Load()With Form2.Width = Screen.Width - Form1.Width.Height = Screen.HeightEnd WithMove Screen.Width - Form2.Width, 0 '设置窗体在右上角Picture1.AutoSize = TrueEnd Sub五、完善方案将图片可以像windows自带的图片浏览器一样可以放大,缩小,水平旋转,垂直旋转等。
网络编程课程设计报告--图片浏览器
课程设计报告课程名称:网络编程技术课程设计设计题目:图片浏览器目录1 需求分析 (2)1.1 课程设计题目 (2)1.2 课程设计要求及功能 (2)1.3 课程设计思想 (2)1.4 软硬件运行环境及开发工具 (2)1.5 功能设计 (2)2 总体设计 (2)2.1 概要设计 (2)2.2程序执行流程图 (3)3 设计内容 (4)3.1 功能的代码 (4)3.2 效果展示 (7)4 调试及操作说明 (8)5 课程设计总结与体会 (8)6 致谢 (9)7 参考文献 (9)图片浏览器——文件下一张模块1 需求分析1.1 课程设计题目图片浏览器课程设计1.2 课程设计要求及功能本次课程设计主要任务是由我们小组所有人员一起工作利用java语言,编写一个图片浏览器的软件,根据老师的要求我们是每个人负责一个模块,但是最后的组装是由组长来完成的。
该图片浏览器所具有的功能有:打开图片、上一张、下一张、放大图片、缩小图片、关闭程序、帮助与支持等基本功能。
1.3 课程设计思想本软件主要使用图形用户界面,JA V A的输入输出流,以及鼠标监听等事件监听器等技术。
在具体实现方面大体上将程序分为事件监听类ViewerFrame,程序入口类main,,事件监听处理类ViewerAction,程序功能实现类ViewerService,文件过滤处理类ViewerFileChooser;通过整合是个各类连接起来形成一个统一的整体进而封装成一个整体,形成一个软件可以方便用户的使用。
本软件类似于现在市面上流行的图片浏览软件但是没有流行的软件那么多功能,但是它使用起来比较简单方便。
1.4 软硬件运行环境及开发工具开发环境:Windows XP下安装了JDK JRE6.0软件;开发工具:Eclipse3.5;1.5 功能设计本图片浏览器主要功能如下:打开:从指定目录中导入选中的图片;上一张:导入当前图片所在存储位置的上一张图片;下一张:导入当前图片所在存储位置的下一张图片;放大:放大显示当前图片;缩小:缩小显示当前图片;退出:退出软件。
Java课程设计—图片浏览器
黔南师院计科系实验报告《易木图片浏览器》——《Java程序设计》课程设计报告系别: 计算机科学系班级: B11计科班学生姓名:林元兵学生学号: 1108075150指导教师:罗刚设计日期: 2013 年 6月一、课程设计目的:1、复习、巩固Java语言的基础知识,进一步加深对Java的理解和掌握;2、将学习Java中的抽象概念与实际动手编程相结合,锻炼学生的分析解决实际问题的能力,培养正确的编程习惯和能力;3、培养学生自主学习能力、创新意识和创新能力。
二、课程设计要求:1、首先要对课程设计题目进行前期分析,规划好所要制作的类、需要实现的功能、需要编写哪些类来实现、类和类之间有什么关系(请对这部分内容进行简单叙述、可以使用UML图);2、完成的程序要进行相应的的测试,功能要完整,设计要合理,对测试出现的问题进行适当处理,使程序能正确运行;3、设计报告的写法要求:对本次设计/编程的大体思路进行文字描述,并摘抄关键语句;使用GUI编程的,将主要代表界面进行截图放于文档中,没有使用GUI编程的请画出类图,流程图等说明;对本次Java的学习和课程设计进行总结。
4、提交方式:设计报告文档电子版和源程序,统一交到班长或者学习委员处。
5、提交时间: 6月28日。
目录一、项目运行系统要求二、项目功能分析三、项目文件(类)说明3.1、PictureView类3.2、PictureViewWin类3.2.1、PictureViewWin()方法3.2.2、createTop()方法3.2.3、createCenter()方法3.24、createBottom()方法3.24、reSiziPicture()方法3.2.5、actionPerformed()方法3.3.6、run()方法3.3、ReName(内部类)3.4、musicPlay类3.4.1、musicPlay()方法3.4.2、actionPerformed()方法3.5、SettingWin类3.6、Help类四、项目演示五、总结一、项目运行系统要求在运行该程序前,必须先安装JDK,在源文件的的根目录下有jdk-6u16-windows-i586.exe文件,该文件为jdk1.6版本,安装好该文件后即可运行该程序。
(vb课程设计)图片浏览器修改后的.doc
图片浏览器设计报告学院土木工程学院班级土木工程C076 学号074837 姓名郭少华成绩一、设计思路1.要达到的目的①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图picture模块hscrollbar模块pictureload三、部分程序关键源代码及注释Private Sub Form_Load()Drive1.Drive = App.PathDir1.Path = App.Path 'App 是当前的应用程序对象File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出图片文件。
Picture1.AutoSize = TruePicture2.AutoSize = True '设定自动缩放,适应PictureBox的大小。
StatusBar1.Panels.AddStatusBar1.Panels.AddStatusBar1.Panels.AddStatusBar1.Panels.Item(1).MinWidth = 2000StatusBar1.Panels.Item(1).Alignment = sbrCenterStatusBar1.Panels.Item(2).MinWidth = 1800StatusBar1.Panels.Item(2).Alignment = sbrCenterStatusBar1.Panels.Item(3).MinWidth = 2400StatusBar1.Panels.Item(3).Alignment = sbrCenterStatusBar1.Panels.Item(4).MinWidth = 3000StatusBar1.Panels.Item(4).Alignment = sbrCenter '设定StatusBar的数量和属性End SubPrivate Sub Drive1_Change()On Error Resume NextDir1.RefreshDir1.Path = Drive1.DriveIf Err.Number = 68 ThenErr.ClearMsgBox "先将光盘插入!", , "提示"Exit SubEnd If '设定错误提示End SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub File1_Click()If Right(File1.Path, 1) <> "\" Thentempstring = File1.Path & "\" & File1.FileName '非根目录时,路径中的最后加上一个反斜杠"\"Elsetempstring = File1.Path & "\" & File1.FileNameEnd If '装入选定的文件。
图片浏览器课程设计报告
图片浏览器设计报告学院土木工程学院班级测绘C111 学号 117544 姓名戴健健成绩一、设计思路1.要达到的目的①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图=='App'在FileListBox= True= True'设定自动缩放,适应PictureBox的大小。
'设定StatusBar的数量和属性End SubPrivate Sub Dir1_Change()=End subPrivate Sub HScroll1_Change()Max = 200Min = 1'设定滚动条的最大、最小值。
Value = 200smallchang = 1largechang = 1'设定Value值的改变量。
, 0, 0, _* / 100, _* / 100, 0, 0, _,'使用滚动条缩放图片End SubPrivate Sub Picture1_MouseDown(Button As Integer, _Shift As Integer, X As Single, Y As Single)X1 = XY1 = YEnd SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) X2 = XY2 = YX3 = X3 + X2 - X1Y3 = Y3 + Y2 - Y1= LoadPicture(tempstring)If <> 100 Then'使用鼠标移动图片, X3, Y3, _* / 100, _* / 100'使用PaintPicture方法Else, X3, Y3, _,End IfEnd SubPrivate Sub munfileopen_Click()'菜单栏"打开"= LoadPicture, 0, 0, _, , 0, 0, _,= False="pictures|(*.bmp)|*.bmp|pictures|(*.jpg)|*.jpg|pictures|(*.gif)|*.gif|pictures|(*.ico)| *.ico"'设定载入文件的格式= True= True= Truemysize = FileLen= 3(1) = "图片尺寸:" & _& "×" &(2) = "文件大小:" & _Int(mysize / 1024 * 10 + / 10 & "KB"(3) = "修改日期:" & "2012-6-21 " & "14:00"End SubPrivate Sub munfileexit_Click()'菜单栏"关闭"Unload MeEnd SubPrivate Sub munbigger_Click()'菜单栏"放大"= *= *, 0, 0, _, , 0, 0, _,End SubPrivate Sub munback_Click()'菜单栏"还原"= LoadPicture & "\" &, 0, 0, _, , 0, 0, _,= FalseEnd Sub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①增加根据图片的长宽比改变PictrueBox的长宽比。
c图片浏览器课程设计
c 图片浏览器课程设计一、课程目标知识目标:1. 学生能理解图片浏览器的功能与作用,掌握其基本操作流程。
2. 学生能了解图片浏览器的界面布局,掌握各功能按钮的作用。
3. 学生能掌握图片的打开、缩放、旋转、保存等基本操作。
技能目标:1. 学生能运用图片浏览器打开不同格式的图片,并进行基本的编辑操作。
2. 学生能运用图片浏览器进行图片的批量处理,提高工作效率。
3. 学生能通过图片浏览器搜索、下载网络图片,丰富自己的图片资源。
情感态度价值观目标:1. 学生培养对计算机软件操作的兴趣,提高信息技术素养。
2. 学生培养良好的网络图片使用习惯,尊重版权,遵循法律法规。
3. 学生通过图片浏览器的使用,学会欣赏美、发现美,提高审美能力。
课程性质:本课程为信息技术课程,注重实践操作,培养学生的动手能力。
学生特点:六年级学生具备一定的计算机操作基础,对新事物充满好奇,喜欢动手操作。
教学要求:结合学生特点,课程设计要注重实践性、趣味性和操作性,使学生在轻松愉快的氛围中掌握图片浏览器的使用技巧。
教学过程中,关注学生个体差异,给予不同层次的学生针对性的指导,确保每个学生都能达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
1. 图片浏览器简介:介绍图片浏览器的定义、作用及其在日常生活和学习中的应用场景。
- 教材章节:第一章 计算机软件应用2. 图片浏览器的基本操作:讲解如何打开、关闭、缩放、旋转、保存图片等基本操作。
- 教材章节:第二章 图片浏览器的使用3. 图片浏览器的进阶操作:学习批量处理图片、下载网络图片等高级功能。
- 教材章节:第三章 图片浏览器的进阶技巧4. 图片浏览器实践操作:结合实例,让学生动手操作,巩固所学知识。
- 教材章节:第四章 实践操作5. 图片浏览器的安全与法规:讲解在使用图片浏览器时应遵守的法律法规,提高学生的网络安全意识。
- 教材章节:第五章 网络安全与法规教学安排与进度:第一课时:图片浏览器简介,基本操作(1课时)第二课时:图片浏览器进阶操作,实践操作(2课时)第三课时:图片浏览器安全与法规,总结与拓展(1课时)教学内容注重科学性和系统性,结合教材章节,让学生在掌握图片浏览器基本操作的基础上,进一步提高操作技能,同时培养良好的网络安全意识。
VB图片浏览器课程设计
VB图片浏览器课程设计一、课程目标知识目标:1. 让学生掌握VB编程环境中图片浏览器的制作原理,理解相关函数和控件的使用方法。
2. 使学生了解计算机图片处理的基本知识,如图片格式、像素等概念。
技能目标:1. 培养学生运用VB编程解决实际问题的能力,能够独立设计并实现图片浏览器的基本功能。
2. 提高学生分析问题和解决问题的能力,使其在遇到类似问题时能够迅速找到解决方案。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养良好的学习习惯和团队协作精神。
2. 引导学生认识到编程在生活中的实际应用,提高创新意识和实践能力。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的实际编程能力。
2. 学生特点:学生处于初中阶段,对计算机编程有一定的基础,但实践经验不足。
3. 教学要求:结合学生实际情况,以实际操作为主线,注重启发式教学,引导学生主动探究和解决问题。
将目标分解为具体的学习成果:1. 学生能够独立编写出具备基本功能的VB图片浏览器程序。
2. 学生能够运用所学知识,解决图片浏览器在实际应用中遇到的问题。
3. 学生在课程学习中,表现出积极的学习态度和良好的团队协作精神。
二、教学内容1. VB编程基础知识回顾:变量、循环、条件语句等。
2. 图片浏览器功能需求分析:展示图片、切换图片、放大缩小等。
3. VB中与图片处理相关的控件和函数:PictureBox控件、ImageList控件、LoadPicture函数等。
4. 图片浏览器界面设计:界面布局、控件布局和美化。
5. 代码编写与调试:实现图片浏览器的各项功能,并进行调试和优化。
6. 实践项目:分组进行图片浏览器项目实践,培养学生的团队协作和实际编程能力。
教学大纲安排:第一课时:回顾VB编程基础知识,分析图片浏览器功能需求。
第二课时:学习与图片处理相关的控件和函数,介绍PictureBox和ImageList 的使用方法。
c图像浏览器课程设计
c 图像浏览器课程设计一、课程目标知识目标:1. 学生能够理解并掌握图像浏览器的基本概念和功能;2. 学生能够了解图像浏览器的界面布局,识别并描述各功能按钮的作用;3. 学生能够掌握如何打开、浏览、保存和关闭图像文件。
技能目标:1. 学生能够熟练运用图像浏览器进行图片的查看和管理;2. 学生能够学会使用图像浏览器中的基本工具,如放大、缩小、旋转等;3. 学生能够掌握如何对图片进行简单的编辑操作,如裁剪、调整亮度等。
情感态度价值观目标:1. 培养学生对图像艺术的欣赏能力,激发他们对图像创作的兴趣;2. 培养学生善于观察、发现生活中的美,提高他们的审美素养;3. 培养学生团队协作意识,学会在合作中分享、交流、互相学习。
分析课程性质、学生特点和教学要求:本课程为信息技术课程,旨在帮助学生掌握图像浏览器的使用方法,提高他们在日常生活中处理图像信息的能力。
针对初中年级学生的特点,课程设计注重实践操作,鼓励学生动手实践、主动探索。
教学要求以学生为主体,关注个体差异,确保每个学生都能在课程中取得进步。
二、教学内容1. 图像浏览器概述- 图像浏览器的定义与作用- 常见图像浏览器的介绍2. 图像浏览器的界面与功能- 界面布局与功能按钮识别- 常用功能的操作方法:打开、浏览、保存、关闭图像文件3. 图像浏览器的操作技巧- 图片的查看与管理- 基本工具的使用:放大、缩小、旋转、裁剪、调整亮度等4. 图像浏览器的实践应用- 欣赏与分析经典图像作品- 图像作品的处理与创作教学大纲:第一课时:图像浏览器概述与界面功能认识- 引导学生了解图像浏览器的基本概念和作用- 介绍常见图像浏览器的界面布局,引导学生识别功能按钮第二课时:图像浏览器的操作方法- 教授如何打开、浏览、保存和关闭图像文件- 指导学生掌握基本工具的使用方法第三课时:图像浏览器的实践应用- 欣赏与分析经典图像作品,提高学生的审美能力- 引导学生进行图像处理与创作,培养学生的实际操作能力教学内容与课本关联性:本教学内容紧密结合课本中关于图像浏览器的基础知识,注重实践操作,旨在帮助学生更好地理解和运用所学知识。
图片浏览器
嵌入式课程设计报告课程设计题目:图片浏览器班级:12级软工移动一班指导老师:曹磊学生:黄兴全目录一.实验目的 (2)二.功能简介 (3)三.功能详细描述 (3)五、效果展示 (7)六.代码实现 (11)六.工程完成分工与自我打分情况 (16)一、实验目的本程序是在Linux平台上运行的,依赖于c++与SDL制作一个图片浏览器,实现图片的正常浏览,并且能够实现在开发板上的正常浏览。
二.功能模块描述SDL简介:SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。
SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。
目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
制作的该图片浏览器重要有三大功能特点。
其一,图片浏览器能够在指定的目录下实现浏览,并可以任意添加图片删减图片。
其二,图片浏览器实现了对图片的放大与缩小,不易失真。
其三,图片浏览器实现了对图片的旋转。
功能总体描述:本程序大量使用了SDL的库函数。
分两部分简介其功能。
(一)先对必要的每部分小的函数功能实现进行描述。
1、load_image():通过调用库函数IMG_Load()与SDL_DisplayFormat()实现将图片优化成与屏幕相同的格式。
2、apply_surface():通过调用SDL_BlitSurface()实现将源图片加载到屏幕上。
3、init():对SDL库的初始化。
设置屏幕大小以及屏幕标题。
4、Free_Image():实现对图片的释放。
5、Set_Image():设置图片偏移量,使之显示在屏幕中间。
6、Show_Image():实现图片的更新。
7、Zoom_Small()与Zoom_Big():调用库函数zoomSurface()与boxColor()实现图片的缩小与放大。
课程设计图片浏览器
目录《程序设计语言(VB)》课程设计一、设计目的1、进一步掌握程序的三大基本结构;2、进一步掌握算法设计;3、进一步理解程序调试;4、综合利用上述知识,学习设计并编写简单应用程序;5、培养学生团结协作的能力;二、环境配置要求硬件配置:586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于64MB,硬盘自由空间不少于200MB。
推荐配置为内存128MB或256MB(或以上),硬盘自由空间500MB以上。
操作系统:Windows2000/NT/Xp、VB集成开发环境。
三、设计题目图片浏览器(一)系统的主要功能⑴程序启动后,单击“指定文件夹”按钮,弹出“指定文件夹”对话框,从中选择计算机中某个有图片的文件夹。
单击“确定”后,程序自动搜索指定文件夹中扩展名为.jpg、.bmp、.ico、.cur和.gif的图片文件,讲图片文件名显示在主窗口左边的列表框中,并将当前的图片文件夹名显示在主窗口的底部。
⑵指定了图片文件夹之后,程序在主窗口右部的显示区显示第一幅图片。
这时,使用鼠标单击列表中的文件名、使用键盘上的方向键、使用工具栏上的“前一幅图片”和“下一幅图片”按钮都可以显示不同的图片。
使用“第一幅图片”和“最后一幅图片”可以显示列表中的第一副和最后一幅图片。
浏览图片时,窗口左下角显示图片总数以及当前显示图片的序号。
⑶单击工具栏上的“自动播放”按钮,程序自动以每秒一幅的速度以幻灯片形式循环显示所有图片。
在自动播放时,鼠标、键盘和工具栏上的其他按钮仍可以正常使用。
自动播放时,“自动播放”按钮变为,单击停止自动播放。
单击“退出”按钮关闭本程序。
⑷为了最大限度地使用屏幕的显示能力,要求程序主窗口可以通过拖动边框、单击“最大化”、“最小化”和“还原”按钮来改变其大小。
主窗口改变大小时,上面所有的控件都应调整其大小与位置来保证正常的显示效果。
(5)工具栏上的按钮根据程序的运行状态自动变为有效或无效。
例如,在程序未指定文件夹时,中间五个按钮全为无效灰色状态,;如果显示的是最后一幅图片,则“下一幅图片”和“最后一幅图片”按钮应为无效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图片浏览器设计报告
学院土木工程学院班级测绘C111 学号117544 姓名戴健健成绩
一、设计思路
1.要达到的目的
①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期
等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决
①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图
'App
'在FileListBox
Picture1.AutoSize = True
Picture2.AutoSize = True
'设定自动缩放,适应PictureBox的大小。
'设定StatusBar的数量和属性
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End sub
Private Sub HScroll1_Change()
Picture1.Cls
Max = 200
Min = 1
'设定滚动条的最大、最小值。
Value = 200
smallchang = 1
largechang = 1
'设定Value值的改变量。
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width * HScroll1.Value / 100, _
Picture1.Height * HScroll1.Value / 100, 0, 0, _
Picture2.Width, Picture2.Height
'使用滚动条缩放图片
End Sub
Private Sub Picture1_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
X1 = X
Y1 = Y
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) X2 = X
Y2 = Y
X3 = X3 + X2 - X1
Y3 = Y3 + Y2 - Y1
Picture1.Picture = LoadPicture(tempstring)
Picture1.Cls
If HScroll1.Value <> 100 Then
'使用鼠标移动图片
Picture1.PaintPicture Picture2.Picture, X3, Y3, _
Picture1.Width * HScroll1.Value / 100, _
Picture1.Height * HScroll1.Value / 100
'使用PaintPicture方法
Else
Picture1.PaintPicture Picture2.Picture, X3, Y3, _
Picture1.Width, Picture1.Height
End If
End Sub
Private Sub munfileopen_Click()
'菜单栏"打开"
CommonDialog1.ShowOpen
Picture2.Picture = LoadPicture(CommonDialog1.FileName)
Picture1.Cls
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture2.Width, Picture2.Height
Picture2.Visible = False
CommonDialog1.Filter = "pictures|(*.bmp)|*.bmp|pictures|(*.jpg)|*.jpg|pictures|(*.gif)|*.gif|pictures|(*.ico)|*.ico "
'设定载入文件的格式
munbigger.Enabled = True
munsmaller.Enabled = True
munback.Enabled = True
mysize = FileLen(CommonDialog1.FileName)
Picture2.ScaleMode = 3
StatusBar1.Panels(1) = "图片尺寸:" & _
Picture2.ScaleWidth & "×" & Picture2.ScaleHeight
StatusBar1.Panels(2) = "文件大小:" & _
Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"
StatusBar1.Panels(3) = "修改日期:" & "2012-6-21 " & "14:00"
End Sub
Private Sub munfileexit_Click()
'菜单栏"关闭"
Unload Me
End Sub
Private Sub munbigger_Click()
'菜单栏"放大"
Picture1.Cls
Picture2.Width = Picture2.Width * 0.8
Picture2.Height = Picture2.Height * 0.8
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture2.Width, Picture2.Height
End Sub
Private Sub munback_Click()
'菜单栏"还原"
Picture2.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName) Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture2.Width, Picture2.Height
Picture2.Visible = False
End Sub
四、设计方案的完善及目前存在的问题
1.设计方案要完善的地方
①增加根据图片的长宽比改变PictrueBox的长宽比。
②增加改变窗口大小,窗口上的图片也要做相应的调整。
③完善菜单栏的“打开”功能和鼠标拖动图片功能。
2. 目前存在的问题
①菜单栏的“打开”功能不够完善。
②单击鼠标拖动图片功能不能令人满意。
③文件的信息显示不够全面。
五、本次设计的收获及心得体会
①在打好基础的前提下,努力拓宽自己的知识面。
②增加练习的时间,把基础做扎实。
六、对该题目和VB设计的意见和建议
1. 对该题目的意见和建议
①增加对图片文件的简单的编辑功能。
如缩放、裁减、添加文本框等。
②在浏览功能方面,增加全屏浏览、旋转等功能。
2.对本次设计的意见和建议
希望老师的提示能更多一些,多提供一些有用的控件和控件的详细使用方法。