社区
非技术类
帖子详情
如何在vb中实现放大镜功能.(多分)
ceq
2002-02-23 10:17:22
各位大虾,我用vb编一读取数据画图程序,在picturebox中
画出图形后,如何实现放大镜功能.即可以将图形缩小看到整个面貌,也可将
图形放大,看某一部分的细节.那位大虾能否提供方法及代码?如有将不胜
感激!!!一定给分.
另外,picturebox控件中有画点的方法吗?
...全文
510
13
打赏
收藏
如何在vb中实现放大镜功能.(多分)
各位大虾,我用vb编一读取数据画图程序,在picturebox中 画出图形后,如何实现放大镜功能.即可以将图形缩小看到整个面貌,也可将 图形放大,看某一部分的细节.那位大虾能否提供方法及代码?如有将不胜 感激!!!一定给分. 另外,picturebox控件中有画点的方法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
danielinbiti
2002-10-06
打赏
举报
回复
用paintpicture 不好调节
thirdapple
2002-10-06
打赏
举报
回复
声明一个hDc,在这个HDC上放大后,然后再Bitblt到PictureBox上
AOX
2002-10-06
打赏
举报
回复
用API函数StretchBlt实现,如果需要在第二个picturebox上再次放大呢?
thirdapple
2002-02-24
打赏
举报
回复
谢谢你提出的图形图象方面的新问题。
你可以在Picture1画出曲线图,再把它StretchBlt函数贴在Picture2上,实现放大效果。
关于你说的图形缩小后原来的大图形并不消失的问题,可以在第二次贴图前用Picture2.cls的语句把Picture2清空。
ceq
2002-02-24
打赏
举报
回复
多谢各位大虾,我按各位的方法做了,可以将图片放大,但是还存在图形缩小后原来的
大图形并不消失,同时显示了两个图形的问题.
更要命的是,我需要的是放大自己根据坐标文件,自己画出的曲线图,而不是已有的.bmp或其他形式的图形.而以上方法好象只能显示位图或其他已有的图形.
还请各位大虾指点呀!!!!!
Tadpole0510
2002-02-24
打赏
举报
回复
按比例乘除图象是最简单的了pic.scaleheight/var1,pic.scalewidth/var2
有分吗 ?
zyl910
2002-02-23
打赏
举报
回复
所有的绘图方法:
====================================================================
Point 方法
按照长整数,返回在 Form 或 PictureBox 上所指定磅的红-绿-蓝 (RGB) 颜色。不支持命名参数。
语法
object.Point(x, y)
Point 方法的语法包含下列部分:
部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的 Form 象缺省为 object.
x, y 必需的。均为单精度值,指示 Form 或 PictureBox 的 ScaleMode 属性中该点的水平(x-轴)和垂直(y-轴)坐标。必须用括号包括这些值。
说明
如果由 x 和 y 坐标所引用的点位于 object 之外,Point 方法将返回 -1。
====================================================================
Line 方法
在对象上画直线和矩形。
语法
object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F]
Line 方法的语法有以下对象限定符和部分:
部分 描述
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字,指定起点坐标,它们相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置。
(x1, y1) 可选的。Single (单精度浮点数),直线或矩形的起点坐标。ScaleMode 属性决定了使用的度量单位。如果省略,线起始于由 CurrentX 和 CurrentY 指示的位置。
Step 可选的。关键字,指定相对于线的起点的终点坐标。
(x2, y2) 必需的。Single (单精度浮点数),直线或矩形的终点坐标。
color 可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
B 可选的。如果包括,则利用对角坐标画出矩形。
F 可选的。如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。不能不用 B 而用 F。如果不用 F 光用 B,则矩形用当前的 FillColor 和 FillStyle 填充。FillStyle 的缺省值为 transparent。
说明
画联结的线时,前一条线的终点就是后一条线的起点。
线的宽度取决于 DrawWidth 属性值。在背景上画线和矩形的方法取决于 DrawMode 和 DrawStyle 属性值。
执行 Line 方法时, CurrentX 和 CurrentY 属性被参数设置为终点。
这个方法不能用于With...End With 语句块。
====================================================================
Circle 方法
在对象上画圆、椭圆或弧。
语法
object.Circle [Step] (x, y), radius, [color, start, end, aspect]
Circle 方法的语法有如下的对象限定符和部分:
部分 描述
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字 ,指定圆、椭圆或弧的中心,它们相对于当前 object 的 CurrentX 和 CurrentY 属性提供的坐标。
(x, y) 必需的。 Single (单精度浮点数),圆、椭圆或弧的中心坐标。object 的 ScaleMode 属性决定了使用的度量单位。
radius 必需的。Single (单精度浮点数),圆、椭圆或弧的半径。 object 的 ScaleMode 属性决定了使用的度量单位。
color 可选的。Long (长整型数),圆的轮廓的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
start, end 可选的。 Single (单精度浮点数),当弧、或部分圆或椭圆画完以后,start 和 end 指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。
aspect 可选的。 Single (单精度浮点数),圆的纵横尺寸比。缺省值为 1.0,它在如何屏幕上都产生一个标准圆(非椭圆)。
说明
想要填充圆,使用圆或椭圆所属对象的 FillColor 和 FillStyle 属性。只有封闭的图形才能填充。封闭图形包括圆、椭圆、或扇形。
画部分圆或椭圆时,如果 start 为负,Circle 画一半径到 start,并将角度处理为正的;如果 end 为负,Circle 画一半径到 end,并将角度处理为正的。Circle 方法总是逆时针(正)方向绘图。
画圆、椭圆或弧时线段的粗细取决于 DrawWidth 属性值。在背景上画圆的方法取决于 DrawMode 和 DrawStyle 属性值。
画角度为 0 的扇形时,要画出一条半径(向右画一水平线段),这时给 start 规定一很小的负值,不要给 0。
.可以省略语法中间的某个参数,但不能省略分隔参数的逗号。您指定的最后一个参数后面的逗号是可以省略的。
Circle 执行时,CurrentX 和 CurrentY 属性被参数设置为中心点。
这个方法不能用在 With匛nd With 语句块中。
====================================================================
zyl910
2002-02-23
打赏
举报
回复
回答:另外,picturebox控件中有画点的方法吗?
MSDN:
PSet 方法
将对象上的点设置为指定颜色。
语法
object.PSet [Step] (x, y), [color]
PSet 方法的语法有如下对象限定符和部分:
部分 描述
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字,指定相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置的坐标。
(x, y) 必需的。 Single (单精度浮点数),被设置点的水平( x 轴)和垂直( y 轴)坐标。
color 可选的。Long (长整型数),为该点指定的 RGB 颜色。如果它被省略,则使用当前的 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
说明
所画点的尺寸取决于 DrawWidth 属性值。当 DrawWidth 为 1,PSet 将一个像素的点设置为指定颜色。当 DrawWidth 大于 1,则点的中心位于指定坐标。
画点的方法取决于 DrawMode 和 DrawStyle 属性值。
执行 PSet 时,CurrentX 和 CurrentY 属性被设置为参数指定的点。
想用 PSet 方法清除单一像素,规定该像素的坐标,并用 BackColor 属性设置作为 color 参数。
这个方法不能用在 With匛nd With 语句块中。
网络咖啡
2002-02-23
打赏
举报
回复
呵呵,学习
thirdapple
2002-02-23
打赏
举报
回复
谢谢你提出图形图象方面的问题。
你的问题也可以用API函数StretchBlt实现,不过需要两个PictureBox控件。
BitBlt扩展函数——StretchBlt
函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。
函数原型:BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);
参数:
hdcDest:指向目标设备环境的句柄。
nXOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。
nYOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。
nWidthDest:指定目标矩形的宽度,按逻辑单位表示宽度。
nHeightDest:指定目标矩形的高度,按逻辑单位表示高茺。
hdcSrc:指向源设备环境的句柄。
nXOriginSrc:指向源矩形区域左上角的X轴坐标,按逻辑单位表示坐标。
nYOriginSrc:指向源矩形区域左上角的Y轴坐标,按逻辑单位表示坐标。
nWidthSrc:指定源矩形的宽度,按逻辑单位表示宽度。
nHeightSrc:指定源矩形的高度,按逻辑单位表示高度。
dwRop:指定要进行的光栅操作。光栅操作码定义了系统如何在输出操作中组合颜色,这些操作包括刷子、源位图和目标位图等对象。参考BitBlt可了解常用的光栅操作码列表。
返回值:如果函数执行成功,那么返回值为非零,如果函数执行失败,那么返回值为零。Windows NT:若想获得更多的错误信息,请调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h:库文件:gdi32.lib。
Chice_wxg
2002-02-23
打赏
举报
回复
以下是PaintPicture的帮助:
用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp, .wmf, .emf, .ico或 .dib)的内容。不支持命名参数。
语法
object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode
PaintPicture 方法的语法包含下列部分:
部分 描述
object 可选的。一个对象表达式,该对象一定能在“应用于”列表中找到。如果省略 object,带有焦点的 Form 对象缺省为 object。
Picture 必需的。要绘制到 object 上的图形源。Form 或 PictureBox 必须是 Picture 属性。
x1, y1 必需的。均为单精度数值,指定在 object 上绘制 picture 的目标坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。
Width1 可选的。单精度数值,指示 picture 的目标宽度。object 的 ScaleMode 属性决定使用的度量单位。如果目标宽度比源宽度 (width2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源宽度。
Height1 可选的。 单精度数值,指示 picture 的目标高度。object 的 ScaleMode 属性决定使用的度量单位。如果目标高度比源高度 (height2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源高度。
x2, y2 可选的。均为单精度数值,指示 picture 内剪贴区的坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则缺省为 0。
Width2 可选的。单精度数值,指示 picture 内剪贴区的源宽度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源宽度。
Height2 可选的。 单精度数值,指示 picture 内剪贴区的源高度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源高度。
Opcode 可选的。是长型数值或仅由位图使用的代码。它用来定义在将 pictur 绘制到 object 上时对 picture 执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic Help 文件中的 RasterOp Constants 主题。
说明
通过使用负的目标高度值 (height1) 和 / 或目标宽度值 (width1) ,可以水平或垂直翻转位图。
可以省略任何多个可选的尾部的参数 。如果省略了一个或多个可选尾部参数,则不能在指定的最后一个参数后面使用逗号。如果想指定某个可选参数,则必须先指定语法中出现在该参数前面的全部参数。
Chice_wxg
2002-02-23
打赏
举报
回复
1、放大镜
放大两倍到窗口:
me.paintpicture picture1,0,0,picture1.scalewidth,picture1.scaleheight,0,0,picture1.scalewidth*2,picture1.scaleheight*2
2、画点用:
Picture1.PSet (1,1),vbBlack
就可以了
ceq
2002-02-23
打赏
举报
回复
如果能用API函数也行,请说明方法.
又一个
VB
版
放大镜
程序.rar
又一个
VB
版
放大镜
程序,运行后窗体是全透明状态显示,支持放大鼠标光标,光标移动到哪里,就放大哪里,并显示在主窗口
中
,初学
VB
的朋友,学习一些这样的程序的编写方法,可快速提高你的
VB
编程水平。
用
VB
实现
做实用
放大镜
用
VB
实现
做实用
放大镜
个人做的。。。。。。。。。。
VB
哈哈镜
放大镜
.rar
VB
哈哈镜
放大镜
,要想看到特效,请先编译后运行,有点搞笑的
放大镜
效果,设置颜色、半径、倍数等会得到不同的放大效果,对窗体上的元素、包括文字、图片等进行放大。
vb
中
放大镜
软件
当鼠标移动到哪里时,就放大哪里!里面提供了代码,希望能帮助大家……
VB
制作屏幕
放大镜
放大屏幕上的字迹以及图像,也可以放大其它东西等等等等等
非技术类
743
社区成员
26,908
社区内容
发帖
与我相关
我的任务
非技术类
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
复制链接
扫一扫
分享
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章