试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省温州环大罗山联盟2020-2021学年高二下学期信息技术期中联考试卷

一幅图像的相邻像素颜色之间往往存在着连贯性,现有幅256色位图,第一行像素为100个,该行像素信息用十六进制可以描述为“FFFFFF……FF”,占100个字节。若用第一个字节表示数量,第二个字节表示颜色,用“64FF”2个字节即可表示该信息,但存储空间只占原来的1/50。基于此思想,现在针对256色位图的图像信息设计压缩算法,描述如下:

①将所有的小写转换为大写,大小写字母内码差为32,例如:ASC(“a”)-ASC(“A”)=32

②对像素压缩用两个字节存储,前一字节存储连续相同像素的个数,用两位十六进制表示;后一字节存储颜色编码。

③若连续像素个数超过255,用多段字节存储该段连续像素。具体压缩方法如下:

依据上述算法设计VB程序,程序运行界面如下图所示:

请回答下列问题:

(1)、若要将窗体的标题改为“图像压缩”,应该更改窗体的属性。
(2)、请在划线处填入合适的代码。

Private Sub Command1_Click( )

    Dim ans As String, s As String, ch As String, key As String Dim i As Integer, pos As Integer

    Dim count As Integer, count1 As Integer, count2 As Integer

    s = Text1.Text

    For i = 1 To Len(s)

        ch = Mid(s, i, 1)

        If ch >= "a" And ch <= "f" Then s =

        End If

    Next i

    ans = ""

    key = Mid(s, 1, 2)

    pos = 3

    Do While pos <= Len(s) + 1

        count = 1

        Do While key = Mid(s, pos, 2)

            count = count + 1

            pos = pos + 2

        Loop

        count1 = count \ 255

        count2 = count Mod 255

        For i = 1 To count1

            ans = ans + "FF" + key

        Next i

        If count2 > 0 Then ans=

        End If

        key = Mid(s, pos, 2)

        pos = pos + 2

    Loop

    Text2.Text = ans

End Sub

Function DtoH(n As Integer) As String

    temp = ""

    Do While n <> 0 r = n Mod 16

        n = n \ 16

        IfThen

            temp = Chr(Asc("A") + r - 10) & temp

        Else

            temp = r & temp

        End If

    Loop

    temp = "0" + temp      '加上前缀 0,保证转换结果为两位十六进制数

    DtoH = Mid(temp, Len(temp) - 1, 2)

End Function

(3)、如果某数据经过该程序压缩后的数据是“02FF026401EE01EF”,那么原数据为
举一反三
返回首页

试题篮