• VC++将PNG转成二进制文件,在将二进制文件转回PNG图片


    • 版本

    VS2012

    • 源代码
    //将PNG转成二进制文件
    void CMFCApplication1Dlg::OnBnClickedButton1()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //路径
        string sPicPath = "D:\1\5\背景1.png";
        string sSavePath = "D:\1\5\mysavePic.bat";
    
        //打开二进制文件
        ifstream fin(sPicPath.c_str(), ios::binary);
        if (!fin)
        {
            return;
        }
    
        //读取二进制文件中的数据
        char chBuf[1000000] = { 0 };//图片大小,静态分配不能分配太大(也就1-2M)
        fin.read(chBuf, sizeof(chBuf));
        if (fin.eof() != 1)//图片大小判断
        {
            fin.close();
            return;
        }
        fin.close();
    
        //打开二进制文件
        ofstream fout(sSavePath.c_str(), ios::binary);
        if (!fout)
        {
            return;
        }
    
        //向二进制文件中写入数据
        fout.write(chBuf, sizeof(chBuf));
        fout.close();
    
    }
    //将二进制文件转成PNG
    void CMFCApplication1Dlg::OnBnClickedButton2()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //路径
        string sSavePath = "D:\1\5\mysavePic.bat";
        string sGetPic = "D:\1\5\mysavePic.png";
    
        //打开二进制文件
        ifstream fin(sSavePath.c_str(), ios::binary);
        if (!fin)
        {
            return;
        }
    
        //读取二进制文件中的数据
        char chBuf[1000000] = { 0 };
        fin.read(chBuf, sizeof(chBuf));
        fin.close();
    
        //打开二进制文件
        ofstream fout(sGetPic.c_str(), ios::binary);
        if (!fout)
        {
            return;
        }
    
        //向二进制文件中写入数据
        fout.write(chBuf, sizeof(chBuf));
        fout.close();
    
    }

     参考资料https://blog.csdn.net/u010748941/article/details/55188262

    https://blog.csdn.net/laoyao_legend/article/details/110309271

    比较喜欢的动漫人物,杀殿(犬夜叉里的杀生丸)

    • 演示

    现在犬夜叉的续集,最后的夜叉姬已经更新了19集了,对于喜欢看动漫的我,一直在追番。

    但是一直没搞懂,为什么杀生丸为了保护两个女儿和玲,被迫要为麒麟丸做事。

    麒麟丸虽说是和犬大将并肩的大妖怪。

    犬大将死了,难道杀生丸和犬夜叉两个人还打不过麒麟丸?那得是什么样的实力了。

    当年一个龙骨精可就把犬大将给打了半死了

    Caesar卢尚宇

    2021年2月18日

    作者: 阿飞

    出处: https://www.cnblogs.com/nxopen2018/>

    关于作者:......

    如有问题, 可在底部(留言)咨询.

  • 相关阅读:
    webbrowser在vb中叫
    linux小记之安装bin或deb程序
    9011,9012,9013,9014,8050,8550三极管的区别
    中兴v880刷机全过程。原创亲测
    Slackware的启动(init)过程
    sysvinit
    rc.S 分析【转自CSDN 】
    linux 解压rar zip
    slackware启动脚本详解
    工作
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/14413762.html
Copyright © 2020-2023  润新知