怎么用图片填充线,比如画一条线,是一条铁路之路的.要用铁路的图片填充?

解决方案 »

  1.   

    用 ExtCreatePen 创建画笔,指定PS_GEOMETRIC风格, 参数 lplb 中将要填充的图片作为画刷即可。你看下MSDN的介绍
      

  2.   

    贴图恐怕达不到要求 设置扩展风格的画笔也许可以 但是也不见得就能有好效果。如果是直线的话倒还容易处理一些要是曲线那就麻烦大了。
    建议使用GDI+ 通过自己的计算来绘制铁路 不要使用贴图了 因为贴图不能很好的保证贴图连续 方向又一致。使用GDI+可以直接使用虚线画笔来绘制:试试下面的代码: Graphics graphics(pDC->m_hDC);
    graphics.SetSmoothingMode( SmoothingModeHighQuality ); Pen bkpn( Color( 255, 0, 0, 0 ) );
    Pen wdpn( Color( 255, 0, 255,  0), 10 );

    PointF points[] = {
    PointF(20.0f, 20.0f),
    PointF(160.0f, 100.0f),
    PointF(240.0f, 60.0f),
    PointF(260.0f, 100.0f)};

    GraphicsPath path;
    path.AddCurve(points, 4);

    Pen dspn(Color( 255,0,0,0),10);
    REAL dashVals[4] = {4.0f,4.0f,4.0f,4.0f};
    dspn.SetDashPattern( dashVals, 4 ); graphics.DrawPath( &dspn, &path ); path.Widen( &wdpn );
    graphics.DrawPath( &bkpn, &path );
    上面代码的效果如下:
    更加复杂的情况 请楼主参考:http://topic.csdn.net/u/20090217/13/024fae83-9d20-43b3-8b35-2bc425cb5dce.html
    中的回复。