【发布时间】:2010-09-20 02:00:42
【问题描述】:
MSDN documentation (有点)清楚地了解以下关于 GDI 笔的两个事实:
化妆笔(通过 CreatePen 或 ExtCreatePen w/ PS_COSMETIC 创建)必须为 1 unit 宽(嗯,
几何 (ExtCreatePen w/ PS_GEOMETRIC) 笔必须实心(仅限 PS_SOLID,无 PS_DASH 等)。但是,它们可以画出更粗的线条。我在上面的链接中清楚地记录了这一点,只有 9x 限制(我很笨)。为了我的辩护(坏的)cmets和我的代码中的(坏的)逻辑让我不相信。其他一些在 Google 上搜索到的文章肯定是仅针对 Windows 9x 编写的。
为什么我可以违反这些规则并让 GDI 愉快地使用这些笔进行绘图?
我可以创建粗(例如宽度 = 10)化妆笔和虚线几何笔。哎呀,我可以创建一个粗大的虚线几何笔!
这些笔似乎工作正常通常。我看到的唯一问题是在折线中,当我通过非常大的点数组时 - 它渲染线条的速度非常慢。但是,Polyline 通常对大型数组的行为很奇怪 - 它只是对 bad 笔的行为有所不同。 (我的其他折线问题可能是另一个问题...)
使用宽化妆笔或带有图案的宽几何笔是否安全?
【问题讨论】:
标签: windows winapi drawing gdi