与文本框重叠的行

时间:2014-09-15 10:01:30

标签: windows gdi+

我有一个带有与之相关的文字的箭头。文本在某一点与箭头重叠。我希望箭头在由我编写以下代码的文本所限定的矩​​形中不可见

  AdjustableArrowCap *cap1 = new AdjustableArrowCap(5, 5, true);
    Pen *myPen1 = new Pen(Color::Color(0,255,255), width);

    myPen->SetCustomEndCap(cap1);
    GraphicsPath path;
    path.AddLine(point1,point2);
     Font font(&FontFamily(L"arial"), 21);
     Brush *brush=new SolidBrush(Color::Color(0,255,255,255));

     SolidBrush solidBrush(Color(255, 255, 0, 0));

     StringFormat format;
     format.SetAlignment(StringAlignmentCenter);
     format.SetLineAlignment(StringAlignmentCenter);
     RectF rectbo;
     graph->MeasureString(strdata,wcslen(strdata),&font,PointF::PointF(point2),&rectbo);


    graph->DrawLine(myPen,point2,point1);
    Region pathRegion(&path);
    sta=pathRegion.Intersect(rectbo);
    graph->fillRegion(pathRegion,&brush);
    graph->DrawString(strdata,wcslen(strdata),&font,point2,&format,brush1);
  }

我觉得我试图用颜色填充一条不可能的线,这样我怎么能让这条线变得不可见。

1 个答案:

答案 0 :(得分:0)

而不是从Point2绘制线来计算哪个角点或居中的边缘点(取决于您的设计偏好)最接近Point1,然后从那里绘制线。