vb 求图像旋转算法

KingOfPorcupine 2014-09-06 01:01:43
这两天在网上找图像旋转算法 要么是其他语言的 要么是无法理解的(本人初中没毕业,苦啊)
实在没办法了 只好腆着脸来这里 求各位大神帮帮忙。。。
本人用GDI函数获得图像保存在数组bitt1中
求将bitt1旋转n度后的图像保存在数组bitt2中的算法
...全文
162 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
KingOfPorcupine 2014-09-07
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
初中没毕业就不要钻牛角尖做这些你力所不能及的东西了。 能把“百度”用用好也算你造化了,是不是。
你说这话太让人伤心了。。。。。。
Carlven2012 2014-09-07
  • 打赏
  • 举报
回复
算法这种东东,确实不用过于纠结,最好还是网上找个现成的成熟的,一般容错、稳定性和效率都是比较好的。如果楼主你非要自己写呢,除非你觉得有把握写出来的算法比人家的好。所以何苦呢?
KingOfPorcupine 2014-09-07
  • 打赏
  • 举报
回复
引用 4 楼 KingOfPorcupine 的回复:
[quote=引用 3 楼 caozhy 的回复:] 初中没毕业就不要钻牛角尖做这些你力所不能及的东西了。 能把“百度”用用好也算你造化了,是不是。
你说这话太让人伤心了。。。。。。[/quote] 好吧版主 你赢了 身为一个搬砖工企图混入程序猿队伍的思想是不对的 我还是老老实实回去搬砖了
threenewbee 2014-09-06
  • 打赏
  • 举报
回复
初中没毕业就不要钻牛角尖做这些你力所不能及的东西了。 能把“百度”用用好也算你造化了,是不是。
KingOfPorcupine 2014-09-06
  • 打赏
  • 举报
回复
不要这个 看过了 看不懂。。。。
而且我只要在数组里进行旋转就好了。。。
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
我想这才是我想要的 但中间的算法部分 我不知道怎么改
没有改动 结果转换后是这样的

出现大量的黑点。。大体位置还是对的
我代入数组计算后 要么没旋转 要么下标超过下限(这个貌似是我自己没做好)
一如既往哈 2014-09-06
  • 打赏
  • 举报
回复
看看大侠lyserver的blog: http://blog.csdn.net/lyserver/article/details/3023744#

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧