2

従来の MFC アプリがいくつかあり、Cairo 描画エンジンを使用してチャートやグラフを追加したいと考えています。

それを機能させる方法の小さな例を探しています。基本的に、PNG または GIF ファイルを作成したら、それを MFC CView ウィンドウに表示するにはどうすればよいですか?

私のgoogle-fuは良い手がかりを見つけていません。

4

1 に答える 1

1

私のデモサンプルから、

// 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); // <--------

すでにサーフェスがあると仮定すると、上記のサンプルのようなものを使用できます。cairo サーフェスをレンダリングするウィンドウ
destのハンドルです。更新: CView::OnDraw()HDC

CView (継承された?) クラスの OnDraw() メソッドを実装する必要があります。
pDC ポインタを使用して、カイロ サーフェスを描画できます。つまり、次のようになります。

pDC->BitBlt(0, 0, 240, 80, src, 0,0, SRCCOPY); // "HDC src" is mentioned above
于 2009-08-25T13:28:03.237 に答える