• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

将一个图片按比例缩放显示在一个Frame中

发布: 2007-7-14 20:06 | 作者: 佚名    | 来源: 网络转载     | 查看: 10次 | 进入软件测试论坛讨论

领测软件测试网 代码如下:

'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

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网