高分求助,关于picturebox的问题

iamlancer 2002-11-06 10:08:32
我如何实现在固定大小的picturebox中显示适合该picturebox大小的图片呢?
请不要告诉我用image控件,因为我还想在picturebox中实现图象缩放,这个
缩放问题也要一并请教?
谢谢!
...全文
24 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzn0621 2002-11-06
  • 打赏
  • 举报
回复
不需要用到image,可以用到picturebox里面的PaintPicture方法(当然,你用bitblt也一样~~呵),该方法可以把源图片改变大小后粘贴到目标上。
bcpl 2002-11-06
  • 打赏
  • 举报
回复
用image控件没什么不好。
把image控件的stretch设为true,在picturebox的resize事件里同步
缩放image控件就行了
programart_life 2002-11-06
  • 打赏
  • 举报
回复
这个问题要用到API,因为VB自己无法知道图片的高度和宽度。
这个问题在我的主页上有一个控件叫做图象滚屏的控件,你把源码下载回去看看。我在里面已经对这些东西作了详细的处理了。
stany.mycool.net
zyl910 2002-11-06
  • 打赏
  • 举报
回复
自己计算一下坐标不就行了
fzn0621 2002-11-06
  • 打赏
  • 举报
回复
当然可以了。
在你改变picturebox控件的那一事件,再PaintPicture一次源图片就行了。
至于源图片的大小,你不可能不知道吧??真晕~~哈
iamlancer 2002-11-06
  • 打赏
  • 举报
回复
利用PaintPicture方法,如何知道源图片大小呢,可实现以鼠标点取
处为中心放大吗,或拉框放大缩小吗
zyl910 2002-11-06
  • 打赏
  • 举报
回复
IPictureBox对象(就是PictureBox.Picture属性的数据类型)的Width、Height属性就是位图的大小
只不过单位是HiMetric
用ScaleX、ScaleY方法转换单位




ScaleX、ScaleY 方法


用以将 Form,PictureBox 或 Printer 的宽度或高度值从一种 ScaleMode 属性的度量单位转换到另一种。不支持命名参数。

语法

object.ScaleX (width, fromscale, toscale)

object.ScaleY (height, fromscale, toscale)

ScaleX 和 ScaleY 方法的语法包含如下部分:

部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的 Form 对象缺省为 object。
width 必需的。为 object 指定被转换的度量单位的数量。
height 必需的。为 object 指定被转换的度量单位的数量。
fromscale 可选的。一个常数或数值,按照下列设置中的描述,指定 object 的 width 或 height 从哪一种坐标系统转换。fromscale 可取的数值与 ScaleMode 属性的数值加上 HiMetric 的新数值相同。
toscale 可选的。一个常数或数值,按照下列“设置值”中的描述,指定 object 的 width 或 height 转换到哪一种坐标系统。toscale 可取的数值与 ScaleMode 属性的数值加上 HiMetric 的新数值相同。


设置值

用于 fromscale 和 toscale 设置值有:

常数 值 描述
vbUser 0 用户定义:指示 object 的宽度和高度设置为自定义值。
vbTwips 1 缇(每逻辑英寸 1440 缇;每逻辑厘米 567 缇)。
vbPoints 2 磅(每逻辑英寸 72 点)。
vbPixels 3 像素 (显示器或打印机分辨率的最小单位)。
vbCharacters 4 字符(水平 = 每单位 120 缇,垂直 = 每单位 240 缇)。
vbInches 5 英寸
vbMillimeters 6 毫米
vbCentimeters 7 厘米
vbHimetric 8 HiMetric。如果省略 fromscale,则 HiMetric 为缺省值。
vbContainerPosition 9 决定控件位置。
vbContainerSize 10 决定控件大小。


说明

ScaleX 和 ScaleY 方法按 fromscale 指定的度量单位取值(width 或 height),并将它转换为 toscale 指定的度量单位下相应的值。

也可以结合 PaintPicture 方法使用 ScaleX 和 ScaleY。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧