初步估计完成了整个的一般编码量,其中最选区的更新是最值得关注的,从上一版本的伪抗锯齿到正真的抗锯齿,新的魔术棒算法,新的选区平滑、羽化、扩大、缩小、边界、旋转等,在速度上不敢和PS相提并论,可同业内其他同行软件相比,无论效果还是速度,都有信心不输于。
    蒙版的效果正在测试中,有望年底出个新版本,让大家觉得VB的新魅力所在,呵呵。    现在还没有一个完整的测试版本,先发个选区操作上的效果图吧。    上图中的效果包含了选区扩展,羽化等等效果。    我在这里没有发布任何代码,只是希望得到大家对我这个工程的鼓励,没有炫耀的意思,请大家支持。    顺便做下宣传,对图像真正有兴趣,且在学习的欢迎加入我的图像处理群啊:30417248,说明一下,加入后不讲话的我一般会踢掉。请见谅。

解决方案 »

  1.   

    那个虚线选择框怎么做的?可以拖动选择吗?
    shape?
    ?
      

  2.   

    哦,我还以为是PS的蒙板效果。期待~~~~
    [/Quote]蒙版效果我做了一部分了,比如下图
    //那个虚线选择框怎么做的?可以拖动选择吗? 
    shape? 
    ? 不会用shape这么原始的控件的,自绘的。
      

  3.   


    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        oldX = X - Shape1.Left
        oldY = Y - Shape1.Top
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = 1 Then
            Shape1.Left = X - oldX
            Shape1.Top = Y - oldY
          Label1(0).Left = X - oldX - Label1(0).Width
            Label1(0).Top = Y - oldY - Label1(0).Height
            Label1(1).Left = Shape1.Left + Shape1.Width
             Label1(1).Top = Shape1.Top - Label1(1).Height
           Label1(2).Left = X - oldX - Label1(2).Width
         Label1(2).Top = Y - oldY + Shape1.Height
            Label1(3).Left = Shape1.Left + Shape1.Width
            Label1(3).Top = Shape1.Top + Shape1.Height
        End If
    End SubPrivate Sub Label1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
        oldX = X
        oldY = YEnd SubPrivate Sub Label1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
        On Error Resume Next
        If Button = 1 Then
            Label1(Index).Move Label1(Index).Left + X - oldX, Label1(Index).Top + Y - oldY
            Select Case Index
              Case 0
                Label1(2).Left = Label1(0).Left
                Label1(1).Top = Label1(0).Top
              Case 1
                Label1(0).Top = Label1(1).Top
                Label1(3).Left = Label1(1).Left
              Case 2
                Label1(0).Left = Label1(2).Left
                Label1(3).Top = Label1(2).Top
              Case 3
                Label1(1).Left = Label1(3).Left
                Label1(2).Top = Label1(3).Top
            End Select
            Shape1.Move Label1(0).Left + Label1(0).Width, _
                        Label1(0).Top + Label1(0).Height, _
                        Label1(1).Left - Label1(0).Left - Label1(0).Width, _
                        Label1(3).Top - Label1(1).Top - Label1(1).Height
        End If
    End Sub
    不是知道你说的是不是这个
      

  4.   

    谢谢这位仁兄,他说不会用shape这么原始的控件,自绘的,不知道是怎么个绘法?
      

  5.   

    LZ散的分是要的,祝贺LZ早日圆满完成佳作!
      

  6.   

    LZ是要自己写PS吗?
    期待中~~
      

  7.   

    牛  我连PhotoShop都用的不大熟... 
      

  8.   


    就是图层、选区、滤镜等等啊,以前发过一个版本的。http://topic.csdn.net/u/20081114/21/A0952E87-FECD-4B37-86D0-BFD81782C8EE.html
      

  9.   

    记得很久以前跟楼主提过在ps里有个maskpro的插件滤镜,抠图功能极为强悍,不知楼主的软件有没有类似maskpro的抠图功能?
      

  10.   

    严重支持laviewpbt!图像处理技术的大牛啊!
      

  11.   

    说到底也只是调用API,跟VB好象没什么关系.........
    如果只用VB自带的控件和函数做出来的话,那就真是VB的魅力所在了!
      

  12.   

    楼上我不晓得你在讲什么,一个稍微复杂的VB程序 都会和API打交道的。那些羽化,蒙版有那个API函数可以直接搞出来,请问?
      

  13.   

    像羽化、蒙版,光是API是不够的,需要寻找算法!
      

  14.   

    laviewpbt研究图像处理的境界已经超越我辈了,呵呵佩服