VB程序员博客
Option Explicit
Const Pi = 3.14
Private Sub CommandRototate_Click()
Dim x As Integer, y As Integer
Dim X1 As Integer, Y1 As Integer
Dim X2 As Double, Y2 As Double
Dim X3 As Double, Y3 As Double
Dim JiaoDu As Double
Dim HuDu As Double
PicSource.Cls
PicTarget.Cls
Dim i As Integer
For i = Len(Text1.Text) To 1 Step -1
PicSource.Print Mid(Text1.Text, i, 1);
Next i
JiaoDu = 180 ' 注释: 角 度
HuDu = JiaoDu * Pi / 180 ' 注释: 弧 度
PicSource.ScaleMode = vbPixels
PicTarget.ScaleMode = vbPixels
For x = 0 To PicTarget.ScaleWidth
X1 = x - PicTarget.ScaleWidth 2
For y = 0 To PicTarget.ScaleHeight
Y1 = y - PicTarget.ScaleHeight 2
X2 = X1 * Cos(-HuDu) + Y1 * Sin(-HuDu)
Y2 = Y1 * Cos(-HuDu) - X1 * Sin(-HuDu)
X3 = X2 + PicSource.ScaleWidth 2
Y3 = Y2 + PicSource.ScaleHeight 2
If X3 > 0 And X3 < PicSource.ScaleWidth - 1 And Y3 > 0 And Y3 < PicSource.ScaleHeight - 1 Then
PicTarget.PSet (x, y), PicSource.Point(X3, Y3)
End If
Next y
Next x
End Sub
这种都挺好,但如果PicSource后面比较留出空位多,PicTarget前面也会留出空位来,请问能否有好的方法吗?谢谢了。
参考一下吧:
http://topic.csdn.net/u/20081020/17/452ec679-d433-44d2-9035-ab067cb4add6.html
please use GDI.
谢谢各位。
标签: 文字