[英]Small example on getting Cairo graphics to work with MFC?
我有一些旧的MFC应用程序,并且我想使用Cairo绘图引擎添加一些图表。
我正在寻找一个如何使它工作的小例子。 基本上,一旦创建了PNG或GIF文件,如何将其显示在MFC CView窗口中?
我的Google-FU没有找到任何好的线索。
从我的演示样本中
// cairo_surface_t *surface;
// cairo_t *cr;
// surface = call_win32_surface_create_with_dib_T(CAIRO_FORMAT_ARGB32, 240, 80);
// cr = call_create_T (surface);
// call_surface_write_to_png_T (surface, "hello.png");
HDC src = call_win32_surface_get_dc_T(surface); // <--------
BitBlt(dest, 0, 0, 240, 80, src, 0,0, SRCCOPY); // <--------
假设您已经有一个曲面,则可以使用上面的示例。
dest
是要渲染开罗曲面的窗口的HDC
句柄。
更新: CView :: OnDraw()
您应该为CView(继承?)类实现OnDraw()方法。
您可以使用pDC指针绘制开罗表面,即:
pDC->BitBlt(0, 0, 240, 80, src, 0,0, SRCCOPY); // "HDC src" is mentioned above
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.