这个问题其实有两个点:1。在一张图片中通过绘制线段 围成一个封闭区域   2。用另一张图来填充这个封闭区域···希望给位大神解答下的···

解决方案 »

  1.   

    围成一个封闭区域,如果是方形的好办,判断长和高,用BitBlt变换另一中图适合这个框的大小,如果不规则,就麻烦了
      

  2.   

    哎,现在的小兄弟都咋了,怎么就不会用BAIDU呢?鄙视之余,还是帮你一下吧
    Option Explicit
    Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
    Dim nFillStyle As IntegerPrivate Sub Command1_Click()
        Picture1.Line (0, 0)-(Picture1.Width, Picture1.Height), vbRed
        Picture1.Line (400, 100)-(-5, 100), vbBlack
        Picture1.Line (100, 0)-(100, 300), vbGreen
        nFillStyle = Picture1.FillStyle
        Picture1.FillStyle = 1
        Picture1.Circle (Picture1.Width / 2, Picture1.Height / 2), 100, vbBlue
        Picture1.FillStyle = nFillStyle
    End SubPrivate Sub Form_Load()
        Picture1.ScaleMode = 3 'pixel
    End SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Randomize
        Picture1.FillColor = RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
        ExtFloodFill Picture1.hdc, X, Y, Picture1.Point(X, Y), 1
    End Sub
    来自:http://www.vbchina.net/vb/source/545.html