VB中如何才能自动放大缩小图片填充到图片框中啊?

我设定好图片框的大小,就是不管多大的图,都能自动放大或缩小填充在图片框中,请大侠教我!... 我设定好图片框的大小,就是不管多大的图,都能自动放大或缩小填充在图片框中,请大侠教我! 展开
 我来答
问明6E
高粉答主

2019-12-09 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.8万
展开全部

实现代码:

VERSION 5.00

BeginVB.FormForm1

Caption="使用PictureBox控件实现图像放大和缩小"

ClientHeight=5580

ClientLeft=60

ClientTop=345

ClientWidth=7935

LinkTopic="Form1"

ScaleHeight=5580

ScaleWidth=7935

StartUpPosition=3'窗口缺省

BeginVB.PictureBoxPicture1

AutoRedraw=-1'True

AutoSize=-1'True

Height=3960

Left=-15

Picture="Form1.frx":0000

ScaleHeight=3900

ScaleWidth=6240

TabIndex=2

Top=15

Width=6300

End

BeginVB.CommandButtonCommand2

Caption="放大"

Height=360

Left=6540

TabIndex=1

Top=5070

Width=1140

End

BeginVB.CommandButtonCommand1

Caption="缩小"

Height=360

Left=5160

TabIndex=0

Top=5070

Width=1140

End

End

AttributeVB_Name="Form1"

AttributeVB_GlobalNameSpace=False

AttributeVB_Creatable=False

AttributeVB_PredeclaredId=True

AttributeVB_Exposed=False

DimiAsInteger

DimjAsInteger

PrivateSubCommand1_Click()

Picture1.Cls

i=i-100:j=j-100

Picture1.PaintPicturePicture1.Picture,0,0,i,j

Picture1.Width=i:Picture1.Height=j

EndSub

PrivateSubCommand2_Click()

Picture1.Cls

Picture1.Width=i:Picture1.Height=j

i=i+100:j=j+100

Picture1.PaintPicturePicture1.Picture,0,0,i,j

EndSub

PrivateSubForm_Load()

i=Picture1.Width:j=Picture1.Height

Picture1.Cls

EndSub

VB6.0通过PictureBox控件实现图片放大和图片缩小功能



扩展资料:

其它方法:

例子前请先下载Gdiplus.tlb,并将其放置到C:\Windows\System32中

Gdiplus.tlb下载

VisualBasiccode

使用Gdiplus.tlb,将其放到system32中,然后添加对其的引用

手动设置Form的AutoRedraw=True,ScaleMode=Pixels

OptionExplicit

DimlngGraphicsAsLong

DimlngImageHandleAsLong

DimlngTextureBrushAsLong

DimgpPAsGpStatus

DimlngPen1AsLong

DimlngTokenAsLong

DimGpInputAsGdiplusStartupInput

PrivateSubCommand1_Click()

DimintPAsInteger

gpP=GdipCreateFromHDC(Me.hDC,lngGraphics)'创建绘图区域设备场景

gpP=GdipLoadImageFromFile(App.Path&"\启动.png",lngImageHandle)'读取图片到内存

gpP=GdipDrawImage(lngGraphics,lngImageHandle,0,0)'等大小绘制

gpP=GdipDrawImageRect(lngGraphics,lngImageHandle,200,0,300,300)'在指定的区域内绘制(放大或缩小)

gpP=GdipDrawImageRectRectI(lngGraphics,lngImageHandle,550,0,400,400,20,20,80,80,UnitPixel)'在400*400的区域内显示图片部分区域

gpP=GdipCreateTexture(lngImageHandle,WrapModeTile,lngTextureBrush)'设置一定排列方式的刷子平铺方式

gpP=GdipFillRectangle(lngGraphics,lngTextureBrush,0,300,400,300)'在指定区域内按指定的格式绘制图片

IflngGraphics<>0ThenGdipDeleteGraphicslngGraphics

IflngImageHandle<>0ThenGdipDisposeImagelngImageHandle

IflngTextureBrush<>0ThenGdipDeleteBrushlngTextureBrush

Me.Refresh

EndSub

PrivateSubForm_Load()

DimbolPAsBoolean

WithMe

.Caption="GDIPlus范例"

.Width=960*15

.Height=720*15

.Left=(Screen.Width-.Width)*0.5

.Top=(Screen.Height-.Height)*0.5

EndWith

GpInput.GdiplusVersion=1

IflngToken=0ThenbolP=(GdiplusStartup(lngToken,GpInput)=Ok)

EndSub

mizuda_compute
推荐于2017-11-28 · TA获得超过416个赞
知道小有建树答主
回答量:138
采纳率:100%
帮助的人:131万
展开全部
建议用图像框 image1.Stretch = True

PictureBox(图片框)和Image(图像框)是Visual Basic中用来显示图形的两种基本控件,用于在窗体指定位置显示图形信息,它们支持多种格式的图形文件,包括位图文件(*.bmp,*.dib)、图标文件(*.ico)、光标文件(*.cur)、图元文件(*.wmf,*.emf),还有Internet 上流行的压缩位图格式的JPEG文件和GIF文件。

图片框和图像框在窗体上显示的方式基本相同,都可以装入图形文件。其主要区别是:图像框不能作为父控件,而且不能通过Print方法接受文本。

图片框和图像框的缺省属性都是Picture属性,设计时与运行时可读可写。设计时,在属性窗口为picture属性指定图形文件或把一个图片粘贴到图片框或图像框上;运行时,加载图片的方法较多:使用LoadPicture函数指定图片文件名;对象间图片属性的相互复制;从剪贴板对象获取图片(Glipboard);使用LoadResPicture函数,通过指定工程中.res资源文件中某一图片的资源号ID获得图片。

尽管图片框控件与图像框控件都有Picture属性,都有定位显示图像功能,但也有区别:

(1)图像框适用于静态图像,不具有绘图功能;图片框具有图像框控件所没有的画图属性和图形方法(Print、Line、Circle、Cls)。
(2)图片框具有容器功能;而图像框不具有。
(3)图像框具有Stretch属性,可以改变图像控件中图像的纵横比;而图片框中图像比例不可改变。
(4)图片框具有AutoSize属性;而图像框没有。
(5)图片框有AutoRedraw属性,决定是否重画由图形方法产生的图形,而图像框不具有。图片框的AutoRedraw属性默认值为False,这时由图形方法产生的图形为临时图形。临时图形可以被其他窗体覆盖后擦除,也可以使用Cls方法擦除,在其窗体变小或隐藏后图形得不到恢复。AutoRedraw属性设置为Ture后,由图形方法产生的图形或文本为持久图形。持久图形能在以上各种情况下自动重绘输出,也不能用Cls方法擦除,要擦除持久图形需重新设置BackColor属性。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ccac9b491
2012-09-19
知道答主
回答量:1
采纳率:0%
帮助的人:1579
展开全部
用图像框,要先设置Stretch 为true,再加载图片。顺序不要搞错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lelandf
2010-06-07 · TA获得超过177个赞
知道答主
回答量:124
采纳率:0%
帮助的人:0
展开全部
只能用IMAGE 图像控件,设置IMAGE 控件的属性stretch 为true ,就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Higer爱Susan
2010-06-07 · TA获得超过917个赞
知道小有建树答主
回答量:508
采纳率:0%
帮助的人:444万
展开全部
使用Image控件,并且设置其Strech属性为true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式