Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Const SRCCOPY = &HCC0020
Private WithEvents pic1 As PictureBox
Private WithEvents pic2 As PictureBox
Sub Form_Load()
Me.Move 0, 0, 10200, 4000
Set pic1 = Controls.Add("vb.picturebox", "pic1", Me)
pic1.Visible = True
pic1.Move 0, 0, 5000, 2500
Set pic2 = Controls.Add("vb.picturebox", "pic2", Me)
pic2.Visible = True
pic2.Move 5000, 0, 5000, 2500
pic1.ScaleMode = 3
pic2.ScaleMode = 3
End Sub
Sub Form_Click()
pic2.CurrentX = 0
pic2.CurrentY = 0
pic2.FontSize = 120
pic2.ForeColor = vbRed
pic2.FontName = "隶书"
pic2.Print "镜像"
StretchBlt pic1.hdc, pic2.ScaleWidth, 0, -pic2.ScaleWidth, pic2.ScaleHeight, pic2.hdc, 0, 0, pic2.ScaleWidth, pic2.ScaleHeight, SRCCOPY
End Sub
博客展示了一段VB代码,通过声明StretchBlt函数,在Form_Load过程中创建两个PictureBox控件,在Form_Click过程中设置文字样式并打印“镜像”,最后使用StretchBlt函数实现图片镜像效果。
1100

被折叠的 条评论
为什么被折叠?



