请问用VB怎么做看图片的那个放大器

请问用VB怎么做看图片的那个放大器,第1张

如果只是单纯的缩放的话,可以用一Image来辅助Picture来实现收放,但是这种方法缩放的话,比较难看,不像是Photoshop,acdsee他们是经过重新处理里的。
给你一个我原来做过的实例的缩放代码,其中imgPreview 为Image对象。
Private Type PreviewSize
sngLeft As Single
sngTop As Single
sngWidth As Single
sngHeight As Single
intZoon As Integer
End Type
Private muPreviewSize As PreviewSize
Private Const cmChangeSize = 12
'// 缩小
Private Sub Command1_Click()
With muPreviewSize
intZoon = intZoon - 1
sngHeight = sngHeight / cmChangeSize
sngWidth = sngWidth / cmChangeSize
imgPreviewStretch = True
imgPreviewMove sngLeft, sngTop, sngWidth, sngHeight
'// 如果已经缩小了9倍则缩小按钮不可用
If intZoon < -9 Then
Command1Enabled = False
Command2Enabled = True
Else
Command2Enabled = True
End If
End With
End Sub
'// 放大
Private Sub Command2_Click()
With muPreviewSize
intZoon = intZoon + 1
sngHeight = sngHeight cmChangeSize
sngWidth = sngWidth cmChangeSize
imgPreviewStretch = True
imgPreviewMove sngLeft, sngTop, sngWidth, sngHeight
'// 如果已经放大了9倍则放大按钮不可用
If intZoon > 9 Then
Command2Enabled = False
Command1Enabled = True
Else
Command1Enabled = True
End If
End With
End Sub
Private Sub Form_Load()
With muPreviewSize
intZoon = 0
'// + 05 为Image的边框
sngHeight = imgPreviewHeight + 05
sngWidth = imgPreviewWidth + 05
sngLeft = imgPreviewLeft
sngTop = imgPreviewTop
End With
End Sub

鉴于你新手简而言之
代码控制框中的尺寸
双击框
代码如下:
picture1picture=loadpicture("路径")
picture1autosize=Ture

在VBNET *** 作缩放图像中的显示和保存缩放图像,用到Image和Graphics类,在VSDotNet2K3下面Reference里自动添加了引用SystemDrawing,直接用就行。
实现VBNET *** 作缩放图像代码如下:DimimgAsImageImage=ImageFromFile
(D:\Image\tstImagejpg)
''tstImage是原先的DimgrfxAsGraphics=Me
CreateGraphics
grfxDrawImage(img,0,0,imgWidth
3,imgHeight3)''在Form里显示
DimimgnewAsNewSystemDrawingBitmap
(img,imgHeight3,imgWidth3)
''新建一个放大的
imgnewSave(D:\Image\tstNewImagejpg,
SystemDrawingImagingImageFormatJpeg)
''保存放大后
你可以建一个Form,然后在Form里拖进一个Button,把上面的代码放在Button_Click事件里面源码天空
,执行就行了。
对上面VBNET *** 作缩放图像代码的解释:
1要获取Graphics对象只能从某一事件的参数中获取或者使用窗体和控件对象的CreateGraphics方法来获取-----上面代码使用MeCreateGraphics来引用这个对象。
2加载一个用Image类的FromFile或者FromStream方法
3用DrawImage来显示一个,该方法有30多个重载方法,可以查MSDN了解细节。
4保存时的一个问题:我们必须先建一个对象,用于存缩放图像。

粗劣的做了下~最简单的就是用image控件 先将Image1的Stretch 属性设置为 True
Private Sub Command1_Click()
Static a As Integer
Static b As Integer
a = a + 1
b = b + 1
Image1Height = Image1Height a
Image1Width = Image1Width b
End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12712648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存