従来の MFC アプリがいくつかあり、Cairo 描画エンジンを使用してチャートやグラフを追加したいと考えています。
それを機能させる方法の小さな例を探しています。基本的に、PNG または GIF ファイルを作成したら、それを MFC CView ウィンドウに表示するにはどうすればよいですか?
私のgoogle-fuは良い手がかりを見つけていません。
従来の 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); // <--------
すでにサーフェスがあると仮定すると、上記のサンプルのようなものを使用できます。cairo サーフェスをレンダリングするウィンドウ
dest
のハンドルです。更新: CView::OnDraw()HDC
CView (継承された?) クラスの OnDraw() メソッドを実装する必要があります。
pDC ポインタを使用して、カイロ サーフェスを描画できます。つまり、次のようになります。
pDC->BitBlt(0, 0, 240, 80, src, 0,0, SRCCOPY); // "HDC src" is mentioned above