如题

解决方案 »

  1.   

    用vc很easy但在vb中没有研究过.
    可不可以用vc做一个dll,然后的vb中调用。
      

  2.   

    在下面的几个结构中在它的信息。而下面的几个结构又和操作系统有关。具体可看一下MSDN中的详细说明。  
    BITMAPINFOHEADER  
    BITMAPV4HEADER  
    BITMAPV5HEADER 
      

  3.   

    你要的信息储存在bmp图片的BITMAPINFOHEADER的biBitCount里,例如,你要判断的图片是“c:\abc.bmp",那么运行以下代码:
    新建一个模块,添加代码:
    Public Type BITMAPFILEHEADER
            bfType As Integer
            bfSize As Long
            bfReserved1 As Integer
            bfReserved2 As Integer
            bfOffBits As Long
    End Type
    Public Type BITMAPINFOHEADER '40 bytes
            biSize As Long
            biWidth As Long
            biHeight As Long
            biPlanes As Integer
            biBitCount As Integer
            biCompression As Long
            biSizeImage As Long
            biXPelsPerMeter As Long
            biYPelsPerMeter As Long
            biClrUsed As Long
            biClrImportant As Long
    End Type
    Global h1 As BITMAPFILEHEADER
    Global h2 As BITMAPINFOHEADER
    然后在form中添加一个按钮,代码如下:Private Sub Command1_Click()
    Open "c:\abc.bmp" For Binary As #1
    Get #1, , h1
    Get #1, , h2
    Close #1palettesize = 2 ^ h2.biBitCount
    MsgBox "颜色数:" + Format(palettesize, "###")End Sub运行可得颜色数。临时写的,没有做出错处理等自己改改吧。