希望提供个不把图像加载到程序里的办法

解决方案 »

  1.   

    好象是没办法滴
    你头像是多少DPI的,哈哈
      

  2.   

    upps:LZ的头像是典型的前列腺炎症状 O(∩_∩)O哈哈~
      

  3.   

    图片不都是象素吗.应该不是DPI吧.
    DPI是指定 1英寸有多少个点. 不同的分辨率下的DPI应该不同吧.
      

  4.   

    typedef struct tagBITMAPINFOHEADER{
      DWORD  biSize; 
      LONG   biWidth; 
      LONG   biHeight; 
      WORD   biPlanes; 
      WORD   biBitCount; 
      DWORD  biCompression; 
      DWORD  biSizeImage; 
      LONG   biXPelsPerMeter; 
      LONG   biYPelsPerMeter; 
      DWORD  biClrUsed; 
      DWORD  biClrImportant; 
    } BITMAPINFOHEADER, *PBITMAPINFOHEADER; 
    中的
      LONG   biXPelsPerMeter; 
      LONG   biYPelsPerMeter; 
      

  5.   

    我是说图像的DPI,是存放在磁盘上的数据文件
      

  6.   


    正解 DPI 根据显示效果而不同...例如你图形是300*300  如果打印出来上是1英寸那就是PDI300 打印是3英寸的为PDI100
    .. DPI是和设备相关和你图象没什么关系.
      

  7.   

    只说一句话:一个已有图像文件的DPI是不是一定的,不行就点右键看属性,摘要,高级
      

  8.   

    获取BMP的.. public void GetPixSize(ref int x, ref int y, string p_BMPFullFile)
            {
                FileStream _FileStream = new FileStream(p_BMPFullFile, FileMode.Open, FileAccess.Read);
                BinaryReader _Binary = new BinaryReader(_FileStream);
                _Binary.BaseStream.Position = 38;            uint _IntX = _Binary.ReadUInt32();
                uint _IntY = _Binary.ReadUInt32();            if (_IntX == 0) x = 96;
                if (_IntY == 0) y = 96;            x = (int)(_IntX / 40) + 1;
                y = (int)(_IntY / 40) + 1;            _FileStream.Close();
            }
    我这里很多BMP 都是0 但显示为96
      

  9.   

            MessageBox.Show(pictureBox1.Image.HorizontalResolution.ToString();
    弹出来看看
      

  10.   

    楼上的做法我早尝试过了,很多bmp图片的头文件信息里已经丢失了信息了,读出来的dpi值全部是0.可是操作系统依然能读出来。我也在找问题原因呢