上一篇:Csharp+Asp.net系列教程(五) >>
将一个图片按比例缩放显示在一个Frame中。
@#Form1.frm
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5010
ClientLeft = 60
ClientTop = 345
ClientWidth = 7800
LinkTopic = "Form1"
ScaleHeight = 334
ScaleMode = 3 @#Pixel
ScaleWidth = 520
StartUpPosition = 3 @#窗口缺省
Begin MSComDlg.CommonDialog CommonDialog1
Left = 4635
Top = 3120
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin VB.Frame Frame1
Caption = "Frame1"
Height = 3000
Left = 4500
TabIndex = 2
Top = 30
Width = 3180
Begin VB.PictureBox Picture2
Appearance = 0 @#Flat
ForeColor = &H80000008&
Height = 2625
Left = 120
ScaleHeight = 173
ScaleMode = 3 @#Pixel
ScaleWidth = 194
TabIndex = 3
Top = 255
Width = 2940
Begin VB.Image Image1
Height = 1575
Left = 465
Top = 390
Width = 1965
End
End
End
Begin VB.CommandButton Command1
Caption = "&Load Picture"
Height = 330
Left = 5400
TabIndex = 0
Top = 3150
Width = 1425
End
Begin VB.PictureBox Picture1
Appearance = 0 @#Flat
AutoSize = -1 @#True
BorderStyle = 0 @#None
ForeColor = &H80000008&
Height = 4425
Left = 60
ScaleHeight = 4425
ScaleWidth = 4380
TabIndex = 1
Top = 105
Width = 4380
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim ReturnHeight As Long, ReturnWidth As Long
Private Sub Command1_Click()
Dim BigWidth As Long, BigHeight As Long
Dim StretchWidth As Long, StretchHeight As Long
CommonDialog1.Filter = "jpeg文件|*.jpg|gif文件|*.gif|所有文件|*.*"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
Picture1.Picture = LoadPicture(CommonDialog1.FileName)
BigWidth = Picture1.Width
BigHeight = Picture1.Height
StretchWidth = Picture2.ScaleWidth
StretchHeight = Picture2.ScaleHeight
StretchImage BigWidth, BigHeight, StretchWidth, StretchHeight, True
Image1.Stretch = True
Image1.Width = ReturnWidth
Image1.Height = ReturnHeight
Image1.Left = (Picture2.ScaleWidth - Image1.Width) / 2
Image1.Top = (Picture2.ScaleHeight - Image1.Height) / 2
Image1.Picture = LoadPicture(CommonDialog1.FileName)
End If
End Sub
Private Sub StretchImage(OriginalWidth As Long, OriginalHeight As Long, StretchWidth As Long, StretchHeight As Long, Optional Flag As Boolean = False)
If (OriginalWidth >= StretchWidth Or OriginalHeight > StretchHeight) Or Flag = True Then @#需要缩放
If OriginalWidth / OriginalHeight >= StretchWidth / StretchHeight Then
ReturnWidth = StretchWidth
ReturnHeight = StretchWidth / OriginalWidth * OriginalHeight
Else
ReturnHeight = StretchHeight
ReturnWidth = StretchHeight / OriginalHeight * OriginalWidth
End If
Else
ReturnHeight = OriginalHeight
ReturnWidth = OriginalWidth
End If
End Sub
下一篇:.Net在SqlServer中的图片存取技术 >>
相关文章:
- · 越过调试这道槛——ASP.NET无法调试问题剖析
- · 在ASP.NET中实现MVC模式(五)
- · 在ASP.NET中实现MVC模式(四)
- · 在ASP.NET中实现MVC模式(二)
- · 在ASP.NET中实现MVC模式(一)
- · ASP.NET中根据XML动态创建并使用WEB组件(三)
- · ASP.NET中根据XML动态创建并使用WEB组件(二)
- · ASP.NET中根据XML动态创建并使用WEB组件(一)
- · 开发基于Web的CSS设计器
- · 用ImessageFilter接口实现截获键盘消息
- · 窗体启动特效
- · Microsoft Visual Studio .NET 2003制作安装程序
- · 实现基于事件通知的.Net套接字
- · Programming MS Office 2000 Web Components第一章第三节
- · WalkThrough : SharePoint WebPart入门指南全5辑
- · .Net WinForm学习笔记
- · 在IE浏览器中使用Windows窗体控件(三)
- · 在IE浏览器中使用Windows窗体控件(二)
- · 在IE浏览器中使用Windows窗体控件(一)
- · 基于ASP.NET实现全球化
- · Asp.net动态生成html页面
- · 可以搜索的ComboBox----
- · 实战 .Net 数据访问层 - 5
- · 实战 .Net 数据访问层 - 4
- · 实战 .Net 数据访问层 - 3
- · 实战 .Net 数据访问层 - 2
- · .Net里的序列化
- · 从在 Internet Explorer 中使用 Windows 窗体控件开始谈Smart Client
- · 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论(4)
- · 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论(3)
- · 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论(2)
- · 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论(1)
- · Csharp+Asp.net系列教程(三)
- · Csharp+Asp.net系列教程(二)
- · 设计模式之代理模式(Proxy)
- · 弹出对话框的同时保持页面的显示
- · ASP.Net中使用VB.Net调用存储过程并得到返回值
- · 改变文本框、按钮样式函数
