阅读以下说明和Visual Basic代码,将相应文字填入(n)处,并写在对应栏内。 [说明] 以下Visual Basic代码实现了对位图(BMP)进行旋转显示。以下程序共实现了对BMP位图图形进行 180°旋转、90°旋转(顺时针)、90°旋转

admin2009-02-15  23

问题 阅读以下说明和Visual Basic代码,将相应文字填入(n)处,并写在对应栏内。
[说明]
   以下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

选项

答案(1)BitB1t Picture2.hDC, i, j, 1, 1, Picture1.hDC w-i, h-j, srcopy (2) BitB1t Picture2.hDC, i, j, 1, 1, Picture1.hDC w-j, h-i, srcopy (3) BitB1t Picture2.hDC, i, j, 1, 1, Picture1.hDC j, i, srcopy (4) BitB1t Picture2.hDC, i, j, 1, 1, Picture1.hDC i, j,

解析 本题中Visual Basic代码实现了对位图(BMP)进行旋转显示。(1)为旋转180*时对BMP的操作。(2)为顺时针旋转90°时对BMP的操作。(3)为逆时针旋转90°时对BMP的操作。(4)为水平翻转时对BMP的操作。(5)为垂直翻转时对BMP的操作。
   做题中注意阅读前后代码。
转载请注明原文地址:https://kaotiyun.com/show/8rDZ777K
0

随机试题
最新回复(0)