[代码7-1] Begin VB. Form Form1 AutoRedraw =-1 ’True Caption="图像的施转" //...窗体描述( 略 ) Begin VB. CommandButton Command7 Caption="退出" //...窗体描述(略 ) End Begin VB.CommandButton Command6 Caption = "复位" //...窗体描述(略) End Begin VB.CommandButton Command5 Caption= "垂直翻转" //...窗体描述(略) End Begin VB.CommandButton Command4 Caption="水平翻转" //...窗体描述(略) End Begin VB.CommandButton Command3 Caption= "90°(逆时针)" //...窗本描述(略) End Begin VB.CommandButton Command2 Caption= "90°(顺时针)" //...窗体描述(略) End Begin VB.PictureBox Picture2 //...窗体描述(略) End Begin VB.CommandButton Command1 Caption="180°" //...窗体描述(略) End Begin VB.PictureBox Picture 1 //...窗体描述(略) End End [代码7-2] Private Declare Function BitBlt Lib "gdi32" ( ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal n Width As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long ) As Long Const srcopy = &HCC0020 Dim h As Integer Dim w As Integer Private Sub Form_Load ( ) Picture2.Picture = LoadPicture ( App.Path & "\a01.bmp") ’导入图片’ h = Picture 1 .Height w = Picture 1.Width End Sub [代码7-3] Private Sub Commandl_Click ( ) 旋转180° Picture2.Picture = LoadPicture ( "" ) For j = 0 To h Step 1 For i = 0 To w Step 1 (1) Next i Next j End Sub Private Sub Command2_Click ( ) ’顺时针施转90°’ Picture2.Picture = LoadPicture ( "" ) For i-h To 0 Step-1 For j - 0 To w Step 1 (2) Next j Next i End Sub Private Sub Command3_Click ( ) ’逆时针旋转90°’ Picture2.Picture = LoadPicture ("") For j =w To 0 Step -1 For i = 0 To h Step 1 (3) Next i Next j End Sub Private Sub Command4 Click ( ) ’水平翻转 Picture2.Picture = LoadPicture ( "" ) For i = w To 0 Step -1 For j = 0 To h Step 1 (4) Next j Next i End Sub Private Sub Command5_Click ( ) ’垂直翻转 Picture2.Picmre = LoadPicmre ( "" ) Forj = 0 To h Step 1 For i = 0 To w Step I (5) Next i Next j End Sub Private Sub Command6_Click ( ) ’复位 Picture2.Picture = LoadPicmre ( "" ) For i = 0 To w Step 1 For j = 0 To h Step 1 (6) Next j Next i End Sub
【参考答案】
BitBAt PictureB.hDC, i, j, A, A, PictureA.hDC w-i, h-j, srco......