を使用してEMFの図面を正しくスケールする方法Windows C++プログラムは、クリップボード、単語、およびExcelにエクスポートするEMF(拡張メタファイル形式)を作成します。gdi +
以下のコード例は、キャンバスが25×25(:私のラップトップis3600x1800の画面解像度注)である間のみ12×12であるEMF矩形(幅=高さ= 25)を生成します。 他の画面解像度では、同様のスケーリングの異常が発生します(大きすぎる/小さすぎます)。 解像度の関数としてグラフィックス図面のスケーリングを設定する必要があります。 私の知るところには明らかにギャップがあります。助けていただければ幸いです。あなたの実際の問題とは関係のないものの
HDC ref_dc = GetDC(NULL);
Rect r(0, 0, 25, 25);
Metafile* emf = new Metafile(ref_dc, r, MetafileFrameUnitPixel, EmfTypeEmfPlusDual, L"Drawing");//to HDC
Graphics* g = new Graphics(emf);
//draw a simple box
Gdiplus::Pen* pen = new Pen(Color(0, 255, 0), 1.0f);
pen->SetDashStyle(DashStyleSolid);
pen->SetLineCap(LineCapRound, LineCapRound, DashCapFlat);
g->DrawRectangle(pen, r); // DrawMyObject(g);
// code here to put on clipboard
EMFは、Eclipse Modeling Frameworkに割り当てられているため、間違ったタグであるようです。 –