zoukankan      html  css  js  c++  java
  • 在绘制的扇形里加载一张图片

    代码部分
    CRect rect;
    GetClientRect(rect);
    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowExt(rect.Width(), rect.Height());
    pDC->SetViewportExt(rect.Width(), -rect.Height());
    pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);

    CBitmap Bitmap;
    Bitmap.LoadBitmap(IDB_INSTITUTE);
    CBrush Brush, *pOldBrush;
    Brush.CreatePatternBrush(&Bitmap);
    pOldBrush = pDC->SelectObject(&Brush);

    CPen NewPen, *pOldPen;
    pOldPen = (CPen *)pDC->SelectStockObject(NULL_PEN);

    CPoint d1, tr, sp, ep;
    d1 = CPoint(-400, -600), tr = CPoint(400, 200);
    sp = CPoint(400, 0), ep = CPoint(-400, 0);
    pDC->Pie(CRect(d1, tr), sp, ep);

    pDC->SelectObject(pOldBrush);
    NewPen.DeleteObject();
    Bitmap.DeleteObject();

    d1 = CPoint(-80, -280), tr = CPoint(80, -120);
    sp = CPoint(800, 200), ep = CPoint(-800, 200);
    pDC->Pie(CRect(d1, tr), sp, ep);
    pDC->SelectObject(pOldPen);
    上面看出,加载图片的过程是先创建位图对象,加载图片,把位图放到刷子里;其实就是让刷子成为一个有图的刷子,所以如果你的图片太小,那么可以想象,就是刷子不停的在图形内填充相同的图形。
    关于图片,可以的话尽量加载已经处理好的,不要对vc的图形编辑器抱太多期望,颜色超过256也没事,只是不能在vc的图形编辑器里打开,所以更不用说编辑了,程序跑的时候还是会显示出来。
    图片的格式注意,一定是.bmp的!!
    而且上面用到画笔也是透明画笔,在使用完后,要删除的删除,要换回默认的也不能忘。

  • 相关阅读:
    mysql5.5 uuid做主键与int做主键的性能实测
    dom4j解析xml字符串实例
    spring自动注入是单例还是多例?单例如何注入多例?
    Spring中Bean的五个作用域
    【总结】瞬时高并发(秒杀/活动)Redis方案
    浅谈分布式事务
    基于Redis实现分布式锁
    MySQL事务隔离级别详解
    Redis学习手册(Sorted-Sets数据类型)
    Redis的快照持久化-RDB与AOF
  • 原文地址:https://www.cnblogs.com/qbin/p/4973110.html
Copyright © 2011-2022 走看看