如何在图象框里放大,缩小图片。
我想在图象框里放大或缩小一幅图片。速度能快点,放大
或缩小后的图片,
问题点数:50、回复次数:6Top
1 楼Firing_Sky(火的天空)回复于 2000-02-04 13:10:00 得分 0
把图片放在PictureBox里面,设置autosize=trueTop
2 楼aborigine()回复于 2000-02-04 14:58:00 得分 5
用BitBlt或StretchBltTop
3 楼vBin(彬)回复于 2000-02-05 01:13:00 得分 30
我想最好的方法是用StretchBlt函数
StretchBlt 目的HDC,目的X,目的Y,目的宽,目的高,源HDC,源X,源Y,源宽,
源高,参数
Top
4 楼Venne(感觉一下)回复于 2000-02-09 12:43:00 得分 10
使用StretchBlt这些API函数,首先要把你的表单ScaleMode 设为3,即按像素,而不能用TWIPS.
如上所说,目的HDC就是PICTUREBOX的HDC属性,X,Y是指拷贝到那里,宽高指放大缩小后的宽高,源HDC与上一样,源X源Y指从源的什么地方拷贝,源宽源高指原来的大小,参数指拷贝方式,使用SRCCOPY常数即可,这些函数和常数需要从API VIEWER中导入。Top
5 楼c13a5()回复于 2000-02-12 16:20:00 得分 5
使用pictureclip控件,并修改其ClipX和Clipy
Dim SaveMode As Integer '为图片框保存当前的 ScaleMode。
SaveMode = Picture1.ScaleMode '获得裁剪区域的 X 和 Y 坐标。
PicClip1.ClipX = Val(Text1.Text)
PicClip1.ClipY = Val(Text2.Text)
**************************
'设置裁剪区域的范围(用像素)。
PicClip1.ClipHeight = 100
PicClip1.ClipWidth = 100
*****************************
'设置图片框 ScaleMode 为像素。
Picture1.ScaleMode = 3 '设置的为填充图片框目标范围。
PicClip1.StretchX = Picture1.ScaleWidth
PicClip1.StretchY = Picture1.ScaleHeight '为图片框指定裁剪位图。
Picture1.Picture = PicClip1.Clip
'使图片框的 ScaleMode 复位。
Picture1.ScaleMode = SaveModeTop
6 楼cnt()回复于 2000-02-26 23:04:00 得分 0
由各简单的方法:
先在PictureBox里面,设置autosize=true,然后在需要放大(缩小)时.改变PictureBox的大小.就行了.图片将自动跟随PictureBox变化大小.当然窗体要做的比图片框大点儿.至于PictureBox的大小该怎样变就不用我说了吧,初级的初级了!!
Top




