我用Bitmap读bmp的图像 并用graphics做一些旋转、缩放的处理,怎么把处理后的图像再保存到bmp中呢?

解决方案 »

  1.   

    使用CImage来做吧,Cimage有save函数
      

  2.   

    Bitmap直接就有Save方法啊,MSDN上有现成示例
      

  3.   

    可以说详细一点吗?
    我也用了save 但不好使啊
      

  4.   

    graphics旋转后的图片就不能保存吗
      

  5.   

    托管的
    Bitmap bmp = new Bitmap( 文件名 )
    Graphics g = Graphics.FromImg(bmp);
    操作
    bmp.save
    非托管的差不多,只是参数略有不同而已
      

  6.   

    Graphics graphics(pDC->m_hDC);
    graphics.FromImage(pbmp);
    double px = pbmp->GetWidth()*0.5;
    double py = pbmp->GetHeight()*0.5;
    graphics.TranslateTransform(px,py);
    graphics.RotateTransform(angle); // 旋转angle度
    graphics.TranslateTransform(-px,-py);
    graphics.DrawImage(pbmp,0,0);
    Status stat;
    CLSID Clsid; 
    int nRet = 0;
    nRet = GetEncoderClsid(L"image/bmp",&Clsid); //得到CLSID
    stat = pbmp->Save(lpszPathName ,&Clsid);
      

  7.   

    Graphics graphics = Graphics::fromImage(pbmp); 
      

  8.   

    Graphics::fromImage(pbmp); 
    返回的是指针
    即使改成指针了 
    画图的时候居然什么都画不出来 单步调试没发现问题
      

  9.   

    结论:就是不能保存! GDI+的缺陷!
      

  10.   


    最后是这么做的,CImage蛮好用的。