gpt4 book ai didi

c++ - 将 GDI+ 与 GDI 混合

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:44:05 25 4
gpt4 key购买 nike

我正在使用第三方库来绘制图表。该库需要一个 HDC (GDI)。但是我的应用程序使用的是 GDI+。

Q1:这样做安全吗?

void f(Gdiplus::Graphics& graphics)
{
HDC dc = graphics.GetHDC();

// Call 3rd party lib functions using dc
// ...

graphics.ReleaseHDC(dc);
}

问题 2:某些库的函数需要边界 RECT 结构 (WinAPI)。如果我使用毫米作为页面单位,如何计算该矩形的坐标?

graphics.SetPageUnit(UnitMillimeter);

最佳答案

Q1:是的,但是如果第三方库无法处理你的坐标,你可能需要更改坐标系 ==> Q2

Q2:this SO Question对此有一些指示(虽然它是相反的方向),你需要设置 mapping mode到 MM_HIMETRIC,将 GDI+ 坐标转换为 0.01 mm 的整数并使用 LPtoDP获取像素值。

关于c++ - 将 GDI+ 与 GDI 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24138123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com