zoukankan      html  css  js  c++  java
  • VC保存当面某个区域的图片

    void ViewReportDlg::CopyScreenToBitmap() 
    { 
        CDC *cdc = this->GetDC();
        HDC wnd = cdc->GetSafeHdc();
        //CClientDC dc(this);
    
        CRect rect; 
        BOOL  showMsgTag;                  //是否要弹出”图像保存成功对话框" 
        this->GetClientRect(&rect);                  //获取画布大小
    
        HBITMAP hbitmap = CreateCompatibleBitmap(wnd, rect.right-rect.left, rect. bottom-rect.top);     //创建兼容位图
    
        HDC hdc = CreateCompatibleDC(wnd);      //创建兼容DC,以便将图像保存为不同的格式
        HBITMAP hOldMap = (HBITMAP)SelectObject(hdc,hbitmap); 
        //将位图选入DC,并保存返回值 
        BitBlt(hdc,0,0,rect.right-rect.left,rect.bottom-rect.top,wnd,0,0,SRCCOPY); 
    
        //将屏幕DC的图像复制到内存DC中
        CImage image;//需要 
        image.Attach(hbitmap,CImage::DIBOR_DEFAULT);
    
        //image.Save(_T("c:\B.jpg"));//如果文件后缀为.bmp,则保存为为bmp格式 
        //以下程序用于选择图片保存路径等信息    
        // 图像保存
        HRESULT hResult = image.Save(_T("E:\4444.bmp"));
        if (FAILED(hResult))
            MessageBox("保存图像文件失败!");
        else
            MessageBox("保存图像文件成功!");
        image.Detach();    
        ::SelectObject(hdc, hOldMap);//选入上次的返回值
        ::DeleteDC(hdc); 
    }
  • 相关阅读:
    分布式事务--AT+TCC
    Java基础面试题
    JVM问题
    集合问题
    线程问题
    微服务面试题
    【入职准备】安装STS以及整合maven
    事务----四大特性
    html小知识--创建表单
    通过css润色html表格
  • 原文地址:https://www.cnblogs.com/Travis990/p/4651475.html
Copyright © 2011-2022 走看看