谁帮忙给段代码把bmp图形格式转换为jpg格式(vc)

解决方案 »

  1.   

    http://www.vczx.com/article/show.php?id=568
      

  2.   

    使用GDI+非常方便.
    //将文件保存为JPEG文件
    //使用不同压缩质量保存JPEG文件
    CLSID encoderClsid;
    EncoderParameters encoderParameters;
    ULONG quality;
    Status stat;
    Image image(L"1.bmp");
    RectF rect(0, 0, image.GetWidth() / 2, image.GetHeight() / 2);
    graphics.DrawImage(&image, rect);
    GetEncoderClsid(L"image/jpeg", &encoderClsid);
    //构造编码参数列表
    //数组中只包含一个EncoderParameter对象
    encoderParameters.Count = 1;
    encoderParameters.Parameter[0].Guid = EncoderQuality;
    //参数类型为LONG
    encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
    //只设置一个参数
    encoderParameters.Parameter[0].NumberOfValues = 1;
    //设置JPEG图片质量为底
    quality = 0;
    encoderParameters.Parameter[0].Value = &quality;
    stat = image.Save(L"1_0.jpg", &encoderClsid, &encoderParameters);
    if(Ok == stat)
    {
    Image image(L"1_0.jpg");
    graphics.TranslateTransform(rect.Width + 10, 0);
    graphics.DrawImage(&image, rect);
    } //设置JPEG图片质量为中等
    quality = 50;
    encoderParameters.Parameter[0].Value = &quality;
    stat = image.Save(L"1_1.jpg", &encoderClsid, &encoderParameters);
    if(Ok == stat)
    {
    Image image(L"1_1.jpg");
    graphics.ResetTransform();
    graphics.TranslateTransform(0, rect.Height + 10);
    graphics.DrawImage(&image, rect);
    } //设置JPEG图片质量为最好
    quality = 100;
    encoderParameters.Parameter[0].Value = &quality;
    stat = image.Save(L"1_2.jpg", &encoderClsid, &encoderParameters);
    if(Ok == stat)
    {
    Image image(L"1_2.jpg");
    graphics.TranslateTransform(rect.Width + 10, 0);
    graphics.DrawImage(&image, rect);
    }
      

  3.   

    现在GDI+出问题了 最好不用了
      

  4.   

    http://www.pcvc.net/oldcode/down/ejpeg.zip
      

  5.   

    这个不错
    http://blog.csdn.net/xzygod/archive/2003/12/28/5405.aspx
    输入是24位真彩色,输出是jpg。但是比较麻烦,涉及到jpg的格式
      

  6.   

    TO:  alon21(飘一族.Alon) ( ) 信誉:100你的这个好个好像不行,转换过的图全都是黑的!
      

  7.   

    可以使用paintlib这个免费库来做。
      

  8.   

    用CxImage,2个函数就搞定了,Load, Save