- 博客(20)
- 资源 (49)
- 收藏
- 关注
转载 坐标点旋转变换
直角坐标系中, 某点A(x, y)绕原点O(0, 0)旋转u度(弧度), 得到新点A'(x', y').或者http://zh.wikipedia.org/wiki/%E6%97%8B%E8%BD%AC
2013-09-29 14:44:00 1554
原创 [TTF字体]获取TTF字体的点阵信息
获取TTF字体的点阵信息还是使用GetGlyphOutline看代码 CClientDC dc(this); HDC hDC = dc.GetSafeHdc(); //创建字体 CFont font; VERIFY(font.CreateFont(32, 0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAU
2013-09-25 15:19:24 8164
原创 [TTF字体]提取TTF字体的轮廓(二)
一. TTF字体轮廓解析与绘制1.1 数据提取void CHYTTFCharacter::InitTTPOLY(){ if(0 == m_pTTPOLYData) // GetGlyphOutline提取到的字体轮廓数据 { return; } TTPOLYGONHEADER* pTTPOLYGONHEADER = 0; TTPOLYCURVE* pTT
2013-09-25 11:33:18 7303 2
原创 [TTF字体]提取TTF字体的轮廓(一)
一. 相关结构TrueType Font ,由Apple和微软公司合作推出的文字文件格式. 一个TTF字符由许多轮廓组成,每一个轮廓由一个名叫TTPOLYGONHEADER的数据结构开始,跟在TTPOLYGONHEADER后面的是一系列的TTPOLYCURVE数据结构体。轮廓的顶点是POINTFX类型的数据结构点.TTPOLYGONHEADER的结构如下:typedef str
2013-09-25 11:20:18 9793
原创 [设计模式笔记]二. 结构型模式总结
Adapter与Bridge结构型模式之间有很多相似之处(例如: 在很多结构型模式中, 都有一个相似性, 就是都是包含了一个对象的引用或者实体, 用户不直接调用对象, 而是过这些模式中的对应类间接调用对象, 通过这样的间接调用, 在调用对象的方法前后可以做一些事情.(当然, 不做也可以) 虽然他们的目的是不一样的.), 尤其是它们的参与者和协作之间的相似性. 这可能是因为结构型模式依赖于同一个
2013-09-17 18:00:38 1344
原创 [设计模式笔记]二. 结构型模式--13.Proxy模式(代理模式)(一)
结构型模式--Proxy模式(代理)一. 意图为其他对象提供一种代理以控制对这个对象的访问.二. 适用性在需要用比较通用和复杂的对象指针代替简单的指针的时候, 使用Proxy模式. 下面是一些可以使用P r o x y模式常见情况:1. 远程代理(Remote Proxy)为一个对象在不同的地址空间提供局部代表.2. 虚代理(Virtual
2013-09-17 17:55:10 1569
原创 [设计模式笔记]二. 结构型模式--12.Flyweight模式(享元模式)(二)
场景文档编辑器(该编辑器只能编辑24个字母和空格, 可以修改字体大小, 颜色)(位置可以动态计算).角色CharacterFactory 负责管理24个字符和空格CharacterFlyweight对象. 里面需要有一个Flyweight列表, 列表存储对象指针.Flyweight 定义了接口 Draw(Contex* pContex)Character
2013-09-17 17:52:03 1533
原创 [设计模式笔记]二. 结构型模式--12.Flyweight模式(享元模式)(一)
结构型模式--Flyweight模式(享元)一. 意图运用共享技术有效地支持大量细粒度的对象.二. 适用性Flyweight模式的有效性很大程度上取决于如何使用它以及在何处使用它. 当以下情况都成立时使用Flyweight模式:1. 一个应用程序使用了大量的对象。2. 完全由于使用大量的对象,造成很大的存储开销。3. 对象的大多数状态
2013-09-17 17:48:03 1504
原创 [设计模式笔记]二. 结构型模式--11.Facade模式(外观模式)(一)
结构型模式--FACADE模式(外观)一. 意图为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口, 这个接口使得这一子系统更加容易使用.二. 适用性1. 当你要为一个复杂子系统提供一个简单接口时. Facade可以提供一个简单的缺省视图, 这一视图对大多数用户来说已经足够, 而那些需要更多的可定制性的用户可以越过fac
2013-09-17 17:41:50 1326
原创 [设计模式笔记]二. 结构型模式--10.Decorator模式(装饰模式)(一)
Decorator(装饰)模式(对象结构型模式)一. 意图动态地给一个对象添加一些额外的职责. 就增加功能来说, Decorator模式相比生成子类更为灵活.二. 适用性1. 在不影响其他对象的情况下, 以动态, 透明的方式给单个对象添加职责.2. 处理那些可以撤消的职责.3. 当不能采用生成子类的方法进行扩充时. 一种情况是, 可能有大量独立的
2013-09-17 13:48:13 1419
原创 [设计模式笔记]二. 结构型模式--9.Composite模式(组合)(一)
Composite(组合)模式(对象结构型模式)一. 意图将对象组合成树形结构以表示"部分-整体"的层次结构. Composite使得用户对单个对象和组合对象的使用具有一致性.二. 适用性1. 你想表示对象的部分-整体层次结构.2. 你希望用户忽略组合对象与单个对象的不同, 用户将统一地使用组合结构中的所有对象.三. 模式结构
2013-09-17 13:41:30 1542
原创 关于先有鸡蛋还是先有鸡的理解
关于先有鸡蛋还是先有鸡的理解先有鸡蛋还是先有鸡? 如果先有鸡蛋, 那是谁生的鸡蛋, 有鸡才能生鸡蛋; 如果先有鸡, 那是什么蛋孵出的鸡, 有鸡蛋才能孵出鸡;这是一个死循环.能这样想吗?某一天, 一个鸭蛋孵化出了一只鸡, 然后鸡生出了鸡蛋, 然后鸡和鸡蛋循环了.但这句话有问题: 能孵出鸡的鸭蛋是鸡蛋吧, 那说明是先有鸡蛋再有鸡.但是还是有问题: 那个鸡
2013-09-13 15:33:49 1689
原创 [设计模式笔记]二. 结构型模式--8.Bridge模式(桥模式)(二)
场景写日志功能日志功能可能运行在不同操作系统上(Linux系统, Windows系统, Android系统, ios系统等), 日志有不同的格式(XML格式, TXT格式, SelfDefine格式)这里明显有两个维度(操作系统和日志格式).无论什么格式的日志, 在写入时, 需要调用不同系统的文件操作API.所以日志格式在抽象维度, 操作系统在实现维度.
2013-09-12 21:58:11 1558
原创 [设计模式笔记]二. 结构型模式--8.Bridge模式(桥模式)(一)
结构型模式 Bridge模式(桥模式)一. 意图将抽象部分与它的实现部分分离,使它们都可以独立地变化二. 适用性2.1. 你不希望在抽象和它的实现部分之间有一个固定的绑定关系. 例如这种情况可能是因为, 在程序运行时刻实现部分应可以被选择或者切换.2.2. 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以
2013-09-12 21:52:25 1432
原创 [设计模式笔记]二. 结构型模式--7.Adapter模式(适配器模式)(二)
场景有某设备需要这样的功能: 开灯/关灯, 开风扇/关风扇. 像这种开关动作, 一般使用I/O卡控制. 假设I/O卡有很多种型号.这里可以使用Simaple Factory模式角色IO卡创建工厂1个(CIODeviceFactory)(提供静态方法CreateIODevice(nIODeviceType)来创建具体类)抽象IO卡类1个(CIODevi
2013-09-12 21:44:13 1627
原创 [设计模式笔记]二. 结构型模式--7.Adapter模式(适配器模式)(一)
结构型模式 Adapter模式(适配器模式)一. 意图将一个类的接口转换成客户希望的另外一个接口. Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作二. 适用性2.1 你想使用一个已经存在的类,而它的接口不符合你的需求。.2.2 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼
2013-09-12 21:39:56 1621
原创 [设计模式笔记]一. 创建型模式--6.Singleton模式(单体模式)(一)
创建型模式 Singleton模式(单体模式)一. 意图保证一个类仅有一个实例, 并提供一个访问它的全局访问点.二. 适用性1. 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时.2. 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时.三. 模式结构图1
2013-09-12 21:30:27 1227
原创 [设计模式笔记]一. 创建型模式--5.Prototype模式(原型)(二)
场景假设飞机由自我复制的能力. 生产飞机时, 先生成一部原型机, 因为生产原型机需要对原型机的各种参数进行调试, 调试出飞机的最好的参数. 这些参数确定后, 就可以进行批量生产, 批量生产就相当于飞机的Clone了. 如果生产每一台飞机都像生产原型机那样, 那效率是很低下的.角色Client 使用者负责飞机部件的生产流程, 调用CPlanBuilder提供的
2013-09-12 21:24:24 1229
原创 [设计模式笔记]一. 创建型模式--5.Prototype模式(原型)(一)
创建型模式--Prototype模式(原型)一. 意图用原型实例指定创建对象的种类, 并且通过拷贝这些原型创建新的对象.二. 适用性2.1 当要实例化的类是在运行时刻指定时;2.2 为了避免创建一个与产品类层次平行的工厂类时;2.3 当一个类的实例只能有几个不同状态组合中的一种时;2.4 当建立相应数目的原型并克隆它们可能比每次用合适的状
2013-09-12 21:19:22 1390
转载 VC 快速枚举系统所有字体
http://www.cnblogs.com/mars9/archive/2012/01/13/2321622.htmlint EnumFontFamiliesEx( HDC hdc, // handle to DC LPLOGFONT lpLogfont, // font information
2013-09-12 14:21:46 2005
Win7下VFW调用
2015-04-25
例说 const_cast,reinterpret_cast,static_cast,dynamic_cast代码.rar
2009-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人