问题 多项选择题

[说明]
以下Visual Basic代码实现了对位图(BMP)进行旋转显示。以下程序共实现了对BMP位图图形进行 180°旋转、90°旋转(顺时针)、90°旋转(逆时针)、水平翻转、垂直翻转共5项处理。显示界面如图12-8所示。仔细阅读[代码7-1]至[代码7-3],完成 (n) 代码,并写在对应栏内。


[代码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, srcopy
(B) BitBAt PictureB.hDC, i, j, A, A, PictureA.hDC w-j, h-i, srcopy
(C) BitBAt PictureB.hDC, i, j, A, A, PictureA.hDC j, i, srcopy
(D) BitBAt PictureB.hDC, i, j, A, A, PictureA.hDC i, j, srcopy
(E) BitBAt PictureB.hDC, i, j, A, A, PictureA.hDC w-i, h-j, srcopy
(F) BitBAt PictureB.hDC, i, j, A, A, PictureA.hDC i, j, srcopy

解析:本题中Visual Basic代码实现了对位图(BMP)进行旋转显示。(1)为旋转180*时对BMP的操作。(2)为顺时针旋转90°时对BMP的操作。(3)为逆时针旋转90°时对BMP的操作。(4)为水平翻转时对BMP的操作。(5)为垂直翻转时对BMP的操作。
做题中注意阅读前后代码。

单项选择题
问答题 论述题