'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 我想这才是我想要的 但中间的算法部分 我不知道怎么改 没有改动 结果转换后是这样的 出现大量的黑点。。大体位置还是对的 我代入数组计算后 要么没旋转 要么下标超过下限(这个貌似是我自己没做好)
而且我只要在数组里进行旋转就好了
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
我想这才是我想要的 但中间的算法部分 我不知道怎么改
没有改动 结果转换后是这样的 出现大量的黑点。。大体位置还是对的
我代入数组计算后 要么没旋转 要么下标超过下限(这个貌似是我自己没做好)