十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Dim g As Graphics = Me.PictureBox1.CreateGraphics
创新互联建站主营龙沙网站建设的网络公司,主营网站建设方案,App定制开发,龙沙h5重庆小程序开发搭建,龙沙网站营销推广欢迎龙沙等地区企业咨询
g.TranslateTransform(x, y)'实现坐标平移,即把圆中心作为了坐标原点了
g.ScaleTransform(1, -1) 'X轴不变,反转Y轴
然后就不多说了,数学问题
没有啊
因为在 VB 里面都使用弧度(RAD)来计算 sin,cos,tan 等的值
而你要进行角度(DEG)计算
因此可以自己动手(丰衣足食)
如果先将你给的度数转化一下单位,就能简单一些
首先,需要声明函数(VB 6.0)
'==============================
'将度(DEG)转化为秒(DEG)
'返回值:与输入的度、分、秒等价的秒数
'==============================
Function DegreeToSecond(ByVal Degree, Optional ByVal Minute, Optional ByVal Second)
DegreeToSecond = (Degree * 60 + Minute) * 60 + Second
End Function
'==============================
'将秒(DEG)转化为度(DEG)
'返回值:与输入的秒数等价的度、分、秒
'注意:此函数返回一个数组,有三个元素组成
' 例如:
' 若 RV = SecondToDegree(12.345)
' 则 RV(0) 为度数
' 则 RV(1) 为分
' 则 RV(2) 为秒
'==============================
Function SecondToDegree(ByVal Second) As Variant()
Dim ReturnValue() As Variant
ReDim ReturnValue(2)
ReturnValue(0) = Fix(Second / 3600)
ReturnValue(1) = Fix((Second - Degree * 3600) / 60)
ReturnValue(2) = Fix((Second - Degree * 3600) - Minute * 60)
SecondToDegree = ReturnValue
End Function
然后,进行操作,例如:
Dim RV() As Variant
RV = SecondToDegree(DegreeToSecond(45, 23, 56) + DegreeToSecond(67, 45, 12))
MsgBox "Result:" RV(0) "°" RV(1) "'" RV(2) """"
如果是在 VB.NET 中,把所有的 Variant 参数和没有带类型的参数(在 VB6 中默认为 Variant)声明为 Object 类型即可
文字编辑结束后,选择“移动”工具(工具箱第一个工具,快捷键V),然后按Ctrl+T快捷键进行“自由变换”,会在文字上出现控制框,把鼠标移到控制框外边指针就会变成旋转的样式,按住鼠标左键拖动就可以进行任意角度旋转了。
这个问题不是小问题。如果只是90度转,vb.net的picture控件有RotateFlip方法。
任意角度,可以参考这个
;cs-lang=csharp
图片的变换涉及坐标处理,要自己算。
还有可以用Windows Presentation Foundation (WPF) 编程,里面的image控件好像也能旋转图片。
如果是VB6,恐怕只能用API函数了,百度一下“vb 旋转图片” “VB api函数”了解一下