VB制作图片浏览器
- 格式:doc
- 大小:22.00 KB
- 文档页数:2
使用VBA处理图像和图片的技巧图像和图片是如今我们生活中不可或缺的一部分,无论是在设计、建筑、媒体制作还是在日常使用中,我们都需要处理和编辑各种图像和图片。
在这篇文章中,我将介绍一些使用Visual Basic for Applications(VBA)处理图像和图片的技巧。
一、自动调整图片大小在处理图像和图片时,经常需要调整其大小以适应不同的用途。
此时,使用VBA可以实现自动调整图片大小的功能。
下面是一个简单的VBA代码示例,用于将选定的图片自动调整为指定的大小:```vbaSub 调整图片大小()Dim 图片 As ShapeSet 图片 = ActiveSheet.Shapes(1) ' 假设图片是活动工作表上的第一个形状图片.LockAspectRatio = msoFalse ' 取消锁定纵横比例图片.Width = 300 ' 设置图片宽度图片.Height = 200 ' 设置图片高度End Sub```通过使用上述代码,我们可以将选定的图片调整为300像素宽和200像素高的尺寸。
在处理大量图片时,这种自动化调整大小的技巧可以大大提高工作效率。
二、添加水印在某些情况下,我们需要在图片上添加水印来保护版权或为图片提供额外的信息。
使用VBA,我们可以通过在图片上插入文本框并设置透明度来实现添加水印的效果。
下面是一个简单的VBA代码示例,用于在选定的图片上添加水印:```vbaSub 添加水印()Dim 图片 As ShapeSet 图片 = ActiveSheet.Shapes(1) ' 假设图片是活动工作表上的第一个形状With 图片Dim 水印 As ShapeSet 水印 = .TextFrame2.TextRange ' 创建一个文本框并设置透明度为50%水印.Text = "水印文本"水印.Font.Bold = msoTrue水印.Font.Size = 12.Fill.Transparency = 0.5 ' 设置图片透明度End WithEnd Sub```通过使用上述代码,我们可以在选定的图片上添加一个带有自定义文本的水印。
VB中PictureBox控件使用教程PictureBox对象可以说是任何对象的原始型态,它可以加载图片、显示文字、画图外,它还能与Frame对象一样,在自己本身里头加载其它的对象而自成一个小群组,用PictureBox 可以仿真出任何对象的外观,PictureBox是VB基本控件里变化最多,功能最多,也是令人最想去征服它的一个物件。
●PictureBox与Frame对象一样,本身都能装载其它的对象而自己形成一个对象群组。
●如果要拿PictureBox装载对象时,可以把它视为Frame来使用。
●与Image对象一样在设计阶段时,以Picture属性来加载图片。
●与Image对象一样都是在属性对话窗口按一下〝...〞钮后,跳出〝加载图片〞对话框,选择所要的图档,然后加载。
●在执行阶段,可以用VB的函数来帮PictureBox加载图片:Command1_Click()= LoadPicture("E:\MyGif\")End Sub●在设计阶段,若后悔加载图片,想把它消除时,可以把PictureBox按Delete键删掉,然后从工具箱拖曳一个新的PictureBox,或是在属性对话框里的Picture属性,把〝(位图)〞这几个反白,或是移到〝(〞的最前端,按一下键盘的Delete键即可移除图片。
●若在执行阶段,想把PictureBox内的图片移除,可再用LoadPicture函数,并且传空字符串给它:Private Sub Command1_Click()= LoadPicture("")End Sub--------------------------------------------------------------------------------●在PictureBox里画图:●PSet方法:PSet不只是用在PictureBox上,也可以用在窗体上,PSet最主要功用用就是在某一点位置上画一个点,用法是(X,Y), Color:Private Sub Command1_Click() (500,260),RGB(128,0,255)'RGB函数是以红色、绿色、蓝色来表示颜色,详情请到函数指令参考End Sub●若颜色省略,则以PictureBox预设的颜色。
自己的IE——用VB制作浏览器DIY自己做浏览器?有没有搞错?不要说像IE这样的庞然大物,就是小巧的Opera,我们大多数普通人也决计搞不出来。
但如果你的机器里装有VB5.0专业版,那么事情就好办多了,想试试吗?那好,Let`s go!程序的主角是一个ActiveX控件:WebBrowser。
当然,缺省状态下VB的工具箱中并没有它,我们得手工加入,方法是:右击工具箱,在出现的快捷菜单中选择“部件...”,确保在弹出的对话框中选中“控件”标签,找到Microsoft Internet Controls,在它前面的小框中打钩,然后确定。
此时你会发现工具箱中多了两个小图标,其中,地球图标代表的控件正是我们需要的WebBrowser。
由于许多人对WebBrowser控件不是很熟悉,VB的帮助中也没有有关它的内容(反正我没有找到),因此有必要介绍一下它的属性、方法和事件,限于篇幅,我们只涉及程序中用到的:属性:LocationURL 返回控件显示WEB页面的URL。
方法:Navigate 转移到指定的URL或打开指定HTML文件。
事件:1.DownloadBegin 下载操作开时触发。
2.DownloadComplete 下载操作完成、终止或失败时触发。
3.ProgressChange WebBrowser控件跟踪下载操作的过程,并定期触发此事件。
其语法为:Sub WebBrowser_ProgressChange (ByVal Progress As Long, ByVal ProgressMax As Long)。
Progress变元是当前已下载的数据总量,ProgressMax变元是将要下载的数据总量。
4.TitleChange 当前文档标题改变时触发除了WebBrowser控件外,程序还需要一个Label控件:Label1;一个ComboBox控件:combo1,用来显示URL地址;一个StatusBar控件:StatusBar1;一个ProgressBar控件:ProgressBar1,用来显示下载进度(StatusBar控件和ProgressBar控件是ActiveX控件Microsoft Windows Common Controls5.0的成员,加入工具箱的方法同WebBrowser控件),这些控件的属性值都用缺省值。
教你用VB编程来打开任意浏览器网页!
大家有没有想过,利用VB编程来打开自
己要浏览的网站呢?
今天专门抽时间写一下如何实现这个功能,
指导大家学会怎样用VB编程来打开任何一个
网页。
首先,我们需要创建一个“标准EXE”工程, 进入窗体界面后,点击菜单栏中的工程--部件,在弹出的对话框中向下拖动,选择并添加“Windows Internet controls”这个部件,如下图,让VB获得对Webbrowser控件的支持。
接下来我们在新建工程的窗体上,添加文本框、命令按钮、Webbrowser1等控件。
然后我们在命令按钮的单击事件写以下代码:
•
•
•
Private Sub Command1_Click() WebBrowser1.Navigate Text1 '文本框中输入要打卡的网址End Sub
代码截图:
这时候运行程序,在文本框中输入我们想要打开的网址后,只需点击命令按钮,我们想要打开的网页就出现了!
就是这么神奇,正在学VB的你赶快实际运行一下吧~。
自己动手制作一款简洁实用的图片浏览器软件DIY,说白了就是利用现有的类库、组件,快速构造出自己的程序出来。
就象你找来各种电脑配件,然后把它们装配成整机一样;但也有不一样的地方,电脑配件即使是旧的二手配件,怎么说也得花一点钱,而软件的类库、组件,你有时侯可以免费得到。
我想要DIY的,是一款简洁实用的图片浏览器。
众所周知,ACDSee是最流行的图片浏览器,确实很不错。
但作为一名程序员,我想,要是我也能制作出一款简洁实用的图片浏览器,可以在我开发的软件中有图片浏览功能,那该多好。
而我确实DIY出了这么一个图片浏览器,她简洁实用,小巧玲珑,取名为:SimpleBrowse。
现将制作过程介绍如下,与大家分享,并期望能起到抛砖引玉的作用。
第一步:定规格1.样子要象ACDSee一样,左边是目录树,右边是文件列表,显示图片文件的缩图。
2.缩图要好看,浏览速度要快,能浏览的图片格式要多。
3.简洁实用,制作难度不要太大。
4.在Win98,WinNT下都能用。
第二步:选材料由于界面主要分为两大部分,即左边的目录树和右边的文件列表,故材料也就主要是这两大件。
1.左边目录树从/kstowell/上,我们可以得到一个免费的MFC 扩展类库CJ60Lib.dll,这个类库包含有许多用于界面设计的类,其中有一个CShellTree类,可以显示和Windows Explorer左边目录树一样的效果,正好符合我想要的,选定了它。
2.右边文件列表这是关键的部分,它要求能创建、显示、管理图片文件的缩图,要求能浏览多种格式的图片文件,要求有较精美的缩图显示效果和较快的浏览速度,要求易于使用难度不大。
泰来影像科技有限公司在图像处理应用软件开发方面有较深的造诣,推出了一个MFC扩展类库thl.dll,其中有一个CThumbListCtrl类,正是用来创建、显示图片缩图用的,选定了它,从/上获取之。
---- 第三步:生成程序框架---- 象开发其他程序一样,用VC++6.0 AppWizard生成程序框架。
图片浏览器设计报告学院土木工程班级交通运输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的含义和用途。
在VB中使用IE的WebBrowser控件在程序设计中,如何设计出美观、实用,有个性的界面是每个程序设计者在界面设计中追求的目标。
随着Windows XP的推出,各种与众不同的华丽界面越来越被程序设计者和软件使用者所认同。
利用Windows中的WebBrowser控件,可以把华丽的网页设计技术应用到界面设计中去,例如微软著名的MSN浏览器的许多界面其实就是一个Web页,Windows XP中的帮助中心、Microsoft Encarta(微软百科全书)等许多软件中的一些界面也是利用WebBrowser控件显示的Web页。
利用WebBrowser控件显示一个网页,制作一个简单的浏览器已经有很多文章介绍,实现也不复杂,但如何实现程序与Web页的交互则是将其应用到界面设计中的关键。
ActiveX控件和WebBrowser控件的使用用Visual Basic 创建一个应用程序的第一步是创建界面。
而控件则是创建界面的基本模块,是包括在窗体对象内的对象。
每种类型的控件都有自己的属性、方法和事件,属性一般控制控件的外观、大小等性质,方法则是控件的能力或者功能,事件则代表与用户的交互,例如鼠标的移动点击、键盘的输入等都会触发相应的事件。
WebBrowser控件是随IE 3.0以上版本提供的一个可编程的ActiveX控件,利用WebBrowser控件可以显示、控制、分析Web 页,除了IE,chm格式的帮助的浏览,还广泛应用在以IE为核心的许多浏览器和其他程序中。
WebBrowser控件在VB中的使用很简单。
启动VB,创建一个标准EXE工程,选择工程——部件,打开部件对话框,从中找到Microsoft Internet Controls,选中后单击应用,然后关闭对话框(下图),可以看到WebBrowser控件已经添加到工具栏。
将WebBrowser控件拖至窗体,调整到相应大小,打开代码窗口,在Form_Load过程中键入如下代码:Private Sub Form_Load()WebBrowser1.Navigate ""End Sub运行程序,可以看到搜狐的主页显示在了相应的对话框中了。
VB制作图片浏览器
当我们在设置屏幕背景图,或是在你的文件中插入图片时,总要在你的电脑里选择图片。
有时打开的图片你不一定满意,你又不得不一个个地打开、关闭……这样一而再,再而三地重复。
如果是“Photoshop”这样的大软件运行起来更是慢得不得了。
不但烦躁,而且还浪费了你很多宝贵时间。
这时,你是不是觉得“电脑”有点像“猪脑”呢?不过,别急!幸好我用VB编了一个小小的程序,可以解决这个问题,你不妨试试!
下面分步设置各控件的属性:
1.设置窗体的Caption属性为“图片浏览器”,BorderStyle属性为3,即窗体大小不能改变。
2.设置Label1的属性为“当前驱动器”,Label2的属性为“当前目录”,Label3的属性为“当前文件”;Label4的属性为“当前图像”,Label5的属性为“当前文件路径”。
3.设置Text1的Text属性为空。
4.设置Image1的Stretch属性为True,即所装入的图形能够缩放以适应图像框大小。
5.设置Command1的Caption属性为“确定”,Command2的Caption属性为“退出”。
具体的程序源代码如下:
Private Sub Command1_Click()
Image1.Picture=LoadPicture(Text1.Text)'当单击“确定”时,文本框中的文件在图像框中显示出来
End Sub
------
Private Sub Command2_Click()'当单击“退出”时,弹出是否退出系统对话框Dim exi As String
exi=MsgBox(“您真的想退出吗?”,vbYesNo+vbQuestion+vbDefaultButton1,“退出”)
If exi=vbYes Then
End
End If
End Sub
------
Private Sub Dir1_Change()
File1.Path=Dir1'当目录发生变化时,文件列表框中的文件也相应变化
End Sub
------
Private Sub Drive1_Change()
Dir1.Path=Drive1'当驱动器变化时,目录列表也相应变化
End Sub
------
Private Sub File1_Click()
Text1.Text=File1.Path+“\”+File1'用来在文本框中显示被选中的图形名
End Sub
------
Private Sub File1_DblClick()
Image1.Picture=LoadPicture(File1.Path+“\”+File1)'当双击文件列表中的文件时,文件在图像框中显示出来
End Sub
------
Private Sub Form_Load()
Command1.Enabled=False'在未选择图形文件时“确定”按钮不可用
File1.Pattern=“*.bmp;*.jpg;*.ico;*.cur”'在文件列表框中显示扩展名为.BMP、.JPG、.ICO、.CUR的文件
End Sub
------
Private Sub Text1_Change()
Command1.Enabled=True'当文本框中的内容变化时使“确定”按钮可用
End Sub
好了,按“F5”键运行一下吧!你还满意吗?通过这个小小的程序,希望广大初学VB 的读者能从本文中受到小小的启发,然后能用VB 6.0编出自己的绝妙佳作。