D盘

workspace
posts - 165, comments - 53, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

如何取得图片的相关属性

楼主docetism(一天到晚游泳的鱼)2002-11-23 23:00:50 在 VB / 基础类 提问

我想load一张图片的时候,取得他的height   ,width,size,不知道该怎么做?  
  菜鸟请教了~~ 问题点数:100、回复次数:3Top

1 楼good_sun(汉堡+泡面)回复于 2002-11-23 23:56:07 得分 25

用GetObject,注意不是VB中的GetObject,而是API函数GetObject。  
  这样:  
  dim   Bm   as   BITMAP  
  GetObject   PicHwnd,lenb(Bm),Bm  
  MsgBox   Bm.bmHeight   &   vbcrlf   &   Bm.bmWidth  
  上面PicHwnd是图象的句柄,可以直接用PictureBox或Image的Picture属性,BITMAP的类型声明从API浏览器里找Top

2 楼good_sun(汉堡+泡面)回复于 2002-11-24 00:20:33 得分 25

另外PictureBox或image的Picture属性都可以直接得到图象的尺寸。  
  例如:  
  Msgbox   Picture1.Picture.Width  
  不过注意上面返回的单位是Himetric,要转换成点要这样:  
  Msgbox   ScaleX(Picture1.Picture.Width,vbHimetric,vbPixels)Top

3 楼zyl910(910:闭关修炼中...)回复于 2002-11-24 14:05:45 得分 50

Height、Width   属性  
   
  语法  
   
  object.Height   [=   number]  
   
  object.Width   [=   number]  
   
  Height   和   Width   属性语法包含下面部分:  
   
  部分   描述    
  object   对象表达式,其值是“应用于”列表中的一个对象。    
  number   数值表达式,指定对象的维数,“设置值”中有详细说明。    
   
   
  设置值  
   
  大小如下计算:  
   
  Picture(StdPicture、IPictureDisp)   对象-以   HiMetric   为单位的图片的高度和宽度。  
   
   
  对于   Picture(StdPicture、IPictureDisp)   对象,用   ScaleX   和   ScaleY   方法将   HiMetric   单位转换为所需的单位。  
   
   
   
   
   
   
   
   
     
  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。  
  Top

只有注册用户登录后才能发表评论。