看看大侠lyserver的blog:
http://blog.csdn.net/lyserver/article/details/3023744#

解决方案 »

  1.   

    不要这个 看过了 看不懂。
    而且我只要在数组里进行旋转就好了
        For x = 0 To Picture3.ScaleWidth - 1       
            For y = 0 To Picture3.ScaleHeight - 1
             X1 = x - dx
                Y1 = y - dy      'dx dy 为中心点!
                
                X2 = X1 * Cos(-HuDu) + Y1 * Sin(-HuDu)
                Y2 = Y1 * Cos(-HuDu) - X1 * Sin(-HuDu)
                X3 = X2 + dx
                Y3 = Y2 + dy              ' +上中心点的值 就是实际坐标
                
                'If X3 > 0 And Y3 > 0 Then
                    Picture3.PSet (x, y), Picture1.Point(X3, Y3)
                               ' End If
            Next y
        Next x
    这是我找到的 将picture1旋转后喷绘在picture3中的代码
    我大致理解为 以Picture3为基准 计算旋转后的坐标 再用该坐标扣出picture1中的像素
       For x = 0 To Picture1.ScaleWidth - 1       
            For y = 0 To Picture1.ScaleHeight - 1
    .........
    ................
    ..................... 
               Picture3.PSet (x3, y3), Picture1.Point(X, Y)
         next
    next
               我想这才是我想要的  但中间的算法部分 我不知道怎么改
    没有改动 结果转换后是这样的 出现大量的黑点。。大体位置还是对的 
    我代入数组计算后 要么没旋转 要么下标超过下限(这个貌似是我自己没做好)