zoukankan      html  css  js  c++  java
  • CImage将图片转为指定像素大小

    CFileDialog fDlg(true, "jpg", "",   OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,   "JPG files (*.jpg)|*.jpg|");

    if (fDlg.DoModal () != IDOK) return;

    CImage imSrc,imDest;  

    imSrc.Load( fDlg.GetPathName());   

    HDC hDC = imSrc.GetDC();   

    CDC *pDC = CDC::FromHandle(hDC);     

    CBitmap bmp;   

    bmp.CreateCompatibleBitmap(pDC,152,200);  

    CDC memDC;   

    memDC.CreateCompatibleDC(pDC);   

    CBitmap *pOld =memDC.SelectObject(&bmp);      

    ::SetStretchBltMode(memDC.m_hDC,HALFTONE);   

    ::SetBrushOrgEx(memDC.m_hDC,0,0,NULL);   

    imSrc.StretchBlt(memDC.m_hDC,CRect(0,0,152,200)/*DestRect*/,CRect(0,0,imSrc.GetWidth(),imSrc.GetHeight())/*SourceRect*/,SRCCOPY);   

    //152,200就是你想要的图像的宽和高(以像素为单位)

    HBITMAP  hBitmap=(HBITMAP)memDC.SelectObject(pOld->m_hObject);    

     imDest.Attach(hBitmap);// 载入位图资源      

    CFileDialog fDlg1(false, "bmp", "",    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,    "BMP files (*.bmp)|*.bmp|");   

    if (fDlg1.DoModal () != IDOK) return;     

    imDest.Save(fDlg1.GetPathName());      

     imSrc.ReleaseDC();   

    imSrc.Destroy();   

    imDest.Destroy();

  • 相关阅读:
    Swoole 学习笔记 03
    MySQL 索引概念
    MySQL使用存储过程创建百万级别测试数据
    MySQL 慢日志查询的设置
    Hyper中的 Request和Response
    PHPStorm deployment 工具的使用
    Hyperf 命令行
    Hyperf 事件机制
    Hyperf jsonrpc 服务的搭建
    PHPstorm的使用
  • 原文地址:https://www.cnblogs.com/dengpeng1004/p/4028688.html
Copyright © 2011-2022 走看看