回 帖 发 新 帖 刷新版面

主题:很容易的一个小问题,JPEG保存为BMP

这是我写的把JPEG图像保存为BMP图像的代码,但有一个小问题:保存时会报错---cannot open file.JPG 这是为什么?

AnsiString ext;
  Graphics::TBitmap *bmp = new Graphics::TBitmap();
   TJPEGImage *jpeg = new TJPEGImage();
   if(SavePictureDialog1->Execute())
     {  ext=UpperCase(ExtractFileExt(OpenPictureDialog1->FileName));
        jpeg->LoadFromFile(ext);
        bmp->Assign(jpeg);
        bmp->SaveToFile(SavePictureDialog1->FileName+".BMP");
      }
    delete bmp;
    delete jpeg;
誰能给我更好的代码吗,我将不胜感激![em18][em18][em18]

回复列表 (共1个回复)

沙发

int __stdcall Jpeg2Bmp( LPCTSTR lpszSrcFName, LPCTSTR lpszFileName )
{
    TJPEGImage *Jpeg1 = new TJPEGImage();
    TImage *Image1    = new TImage( Application );

    try
    {
        Jpeg1->LoadFromFile( lpszSrcFName );
        // !!!!!!
        // 编译出错时,请修改jpeg.hpp:
        // 将行 __property Graphics::TBitmap* Bitmap = {read=GetBitmap};
        // 从protected移到public
        // !!!!!!
        Image1->Picture->Assign( Jpeg1->Bitmap );
        Image1->Picture->SaveToFile( lpszFileName );
    }
    catch(...)
    {
        Application->MessageBox( "图片不存在", "错误", MB_OK );
        delete Jpeg1;
        delete Image1;

        return 0;
    }

    delete Jpeg1;
    delete Image1;

    return 1;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册