假如我有一张 1280*450 的图片,怎么获取 这张图片一部分,比如 640*450 并且显示呢?c#

解决方案 »

  1.   

    主要用到这个函数
    public void DrawImage (
    Image image,
    RectangleF destRect,
    RectangleF srcRect,
    GraphicsUnit srcUnit
    )
    参数
    image
     要绘制的 Image。 
    destRect
    RectangleF 结构,它指定所绘制图像的位置和大小。将图像进行缩放以适合该矩形。 
    srcRect
    RectangleF 结构,它指定 image 对象中要绘制的部分。 
    srcUnit
    GraphicsUnit 枚举的成员,它指定 srcRect 参数所用的度量单位。 绘制后把图像保存即可
      

  2.   

     [DllImport("gdi32.dll")]
            private static extern IntPtr CreateDC(
            string lpszDriver, // 驱动名称 
            string lpszDevice, // 设备名称 
            string lpszOutput, // 无用,可以设定位"NULL" 
            IntPtr lpInitData // 任意的打印机数据 
            );        [DllImport("gdi32.dll")]
            private static extern bool BitBlt(
            IntPtr hdcDest, //目标设备的句柄 
            int nXDest, // 目标对象的左上角的X坐标 
            int nYDest, // 目标对象的左上角的X坐标 
            int nWidth, // 目标对象的矩形的宽度 
            int nHeight, // 目标对象的矩形的长度 
            IntPtr hdcSrc, // 源设备的句柄 
            int nXSrc, // 源对象的左上角的X坐标 
            int nYSrc, // 源对象的左上角的X坐标 
            System.Int32 dwRop // 光栅的操作值 
            );