GDI+编程基础2

本文对比了GDI(图形设备接口)和GDI+两种绘图技术在实现相同绘图任务时的不同之处。通过具体的画线示例,展示了在GDI中需要更多手动资源管理和设置步骤,而在GDI+中则更加简洁和面向对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考:《精通GDI+编程》

一、有关设备环境句柄的概念
    设备环境的数据结构存储了与显示器(或打印机)的性能、属性相关的详细信息,这些数据信息决定程序如何在显示器上进行输出。所有的输出都是通过设备环境来实现的,例如,在窗口中画一个矩形,首先得通过GetDC函数得到设备环境,然后让设备环境去执行具体操作。
    使用GDI+时,不必像在使用GDI时那样关心句柄和设备环境这样的概念了。程序员只需要简单地创建一个Graphics(图形)对象,然后分别调用该Graphics(图形)对象的成员函数,便能完成大部分的绘图(或文本输出。)操作。就像设备环境是GDI的核心一样。

二、GDI与GDI+的区别

例如:画线

//GDI

	HPEN hPen, hPenOld;
	hPen = CreatePen(PS_SOLID, 3, RGB(255,0,0));
	CDC *pDC = GetDC();
	hPenOld = (HPEN)pDC->SelectObject(hPen);
	pDC->MoveTo(50,60);
	pDC->LineTo(100,120);
	pDC->SelectObject(hPenOld);


//GDI+

	CDC *pDC = GetDC();
	Graphics graphiscs(pDC->m_hDC);
	Pen red(Color(255,0,0), 3);
	graphiscs.DrawLine(&red, 50, 60, 100, 120);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值