在绘制的扇形里加载一张图片

代码部分
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的!!
而且上面用到画笔也是透明画笔,在使用完后,要删除的删除,要换回默认的也不能忘。

时间: 2024-11-05 01:16:34

在绘制的扇形里加载一张图片的相关文章

JS获取图片的缩略图,并且动态的加载多张图片

找了好多资料也没有找到该死的ie的解决办法,最后放弃了ie <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>js获取缩略图</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <st

【重大bug】viewpager使用的时候加载数据应该在setOnPageChangeListener里加载

[重大bug]viewpager使用的时候加载数据应该在setOnPageChangeListener里的onPageSelected里加载,我说怎么首页有数据,第二页就是空白,就是加载了但是数据不显示 1 mPagerTab.setOnPageChangeListener(new OnPageChangeListener() { 2 3 @Override 4 public void onPageSelected(int position) { 5 BaseFragment fragment

使用 jsPlumb 绘制拓扑图 —— 异步加载与绘制的实现

本文实现的方法可以边异步加载数据边绘制拓扑图. 有若干点需要说明一下: 1.  一次性获取所有数据并绘制拓扑图, 请参见文章: <使用 JsPlumb 绘制拓扑图的通用方法> ; 本文实现的最终显示效果与之类似, 所使用的基本方法与之类似. 2.  在此次实现中, 可以一边异步加载数据一边绘制拓扑图, 是动态可扩展的: 3.  所有影响节点位置.布局的配置均放置在最前面, 便于修改, 避免在代码中穿梭, 浪费时间: 4.  布局算法比之前的实现更加完善: 5.  此实现由于与业务逻辑绑得比较紧

Android Bitmap 加载多张图片的缓存处理(精华二)

一般少量图片是很少出现OOM异常的,除非单张图片过~大~ 那么就可以用教程一里面的方法了通常应用场景是listview列表加载多张图片,为了提高效率一般要缓存一部分图片,这样方便再次查看时能快速显示~不用重新下载图片但是手机内存是很有限的~当缓存的图片越来越多,即使单张图片不是很大,不过数量太多时仍然会出现OOM的情况了~本篇则是讨论多张图片的处理问题 -----------------------------------------------------------------------

retrofit2+Executors+DiskLruCache 2秒加载100张图片从此告别OOM的困扰

人生的旅途,前途很远,也很暗.然而不要怕,不怕的人的面前才有路.--鲁迅 自从上一篇博客发布后,已经有很长时间没有更新博客了,一直忙着支付通的事情,在此给大家道个歉. 先贴个图: 你不要惊讶,这就是第一次从网络获取图片的速度,感觉比本地读取图片的速度还要快吧.加载100张图片真的只要2秒时间,你不要不相信,不信你就来看. 一.概述 在众多的app当中,缓存可以作为衡量一款产品的好坏,既能节省流量,减少电量消耗,最重要的是用户体验好.你想想一款产品每个月消耗你100M以上的流量,你愿意用吗?当然这

Android Bitmap 全面解析(二)加载多张图片的缓存处理

一般少量图片是很少出现OOM异常的,除非单张图片过~大~ 那么就可以用教程一里面的方法了通常应用场景是listview列表加载多张图片,为了提高效率一般要缓存一部分图片,这样方便再次查看时能快速显示~不用重新下载图片但是手机内存是很有限的~当缓存的图片越来越多,即使单张图片不是很大,不过数量太多时仍然会出现OOM的情况了~本篇则是讨论多张图片的处理问题-----------------------------------------------------------------------图片

图片预先加载 多张图片预加载

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 2 "http://www.w3.org/TR/html4/strict.dtd"> 3 4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 5 <head> 6 <meta http-equiv="Content

关于bootstrap 在MVC里 模态框里加载iframe页面做编辑的时候

前台代码 <div class="modal fade" id="myModal" tabindex="-1" role="dialog"     aria-labelledby="myModalLabel" aria-hidden="true" >    <div class="modal-dialog" style="width:830

加载多张图片,判断加载完成状态

var totalimages = 10; var loadedimages = 0;$('<img/>').load(function() { ++loadedimages; if(loadedimages == totalimages) { //全部图片加载完成时….. } }); 或者参考别人的一个插件代码: (function(){ $.fn.imgLoad = function(options){ var opts = $.extend({ time:4000, ///等待载入时间,