我有个问题就是图片的大小偏大,我想控制图片的大小,如果太大,不让它导入我的程序。有谁知道吗?望赐教!!在线等

解决方案 »

  1.   

    一个无聊的办法:Image控件,将Image控件的Stretch设置为True,然后先将图片装到Image控件里,读取Image控件的宽高的数值就知道图片的宽高了,不过速度较慢,不过简单啊,避免露馅:Image1.Visible = False
      

  2.   

    上面的方法可行,适用较广。
    如果是BMP格式的文件导入的话,可以考虑直接分析BMP文件头来获得文件尺寸,详情常见我的Blog:
    http://blog.csdn.net/jessezappy/archive/2005/10/09/497612.aspx
    虽然里面说的是ICON文件格式,但是也是从BMP文件头 DIB位图信息头:bitmapinfoheader 延伸而来的。你也可以直接参考 【BMP文件格式分析(zz)- -】:http://lhbyron.blogchina.com/652956.html 
    来获得最直接的帮助:位图文件的组成  结构名称  符号 
     
    位图文件头(bitmap-file header) BITMAPFILEHEADER bmfh 
    位图信息头(bitmap-information header) BITMAPINFOHEADER bmih 
    彩色表(color table) RGBQUAD aColors[] 
    图象数据阵列字节 BYTE aBitmapBits[] 
      

  3.   

    Private Sub Command1_Click()
    Dim picTemp As Picture
        Set picTemp = LoadPicture("图片文件名")
        Debug.Print "高:" & picTemp.Height, "宽:" & picTemp.Width
    End Sub
      

  4.   

    恩,你这个问题,还不如判断文件大小?
    图片尺寸的话,装入时可以调整为需要的大小的取文件大小:
    Public   Function   GetFilesize(ByVal   strFilePath   As   String)   As   Long   
      On   Error   GoTo   ErrHandle:   
              Dim   fso   as   Object,myFile   as   Object   
              Set   fso   =   CreateObject("Scripting.FileSystemObject")   
              Set   myFile   =   fso.GetFile(strFilePath)   
              GetFilesize   =   myFile.Size   
              Exit   Function   
      ErrHandle:   
              GetFilesize   =   0   
      End   Function