中国教育网络联盟
考研需理性,不能只为无处安放的青春    硕士团队养猪走俏市场 每斤近百元仍受追捧    考研学生正月初三返校占座 座位抢手超过火车票    2012考研考试复试前准备之有效收集信息    四年内3成中职生可以上高职 毕业生可参加考研    "蚁族":早回来只为早离开    海南留校大学生超2千人 忙打工忙考研不忙回家    网学时代:"研"途艰辛 毕业考研需理性    四川2012年考研成绩于2月28日前公布    四年内3成中职生可上高职 毕业生可参加考研    考研成绩预计2月底查询 国家线或3月底公布    江西近10%考研生弃考 共查处违规考生128人    男子考研疑似肺结核未录取上诉被驳回    考研考公不算违约 部分单位允许脚踩两只船    山东选调生审查2万余人过关 硕士研究生占三成    落户不限贷款贴息考研加分企业减税    崇拜高学历加剧"考研热"    国内考研热助推出国读研潮    部分的单位允许毕业生"踩两船" 考研或考公务员    榕大学城的学生留校族 忙考研忙工作春节不回家    考研落下帷幕 考生动机不同考后"姿态"各异    上海:市属高校今年扩招研究生    北京拟立法促就业 到2015年新增城乡就业200万人    民和县小额担保贷款四年扶持千余人实现创业梦    深圳每年4000万元为创业者“补血”    留学归国有政策:就业创业都优惠    北京今年将确保北京生源高校毕业生就业率不低于95%    加强校地合作 促进高校毕业生充分就业    弋江区为创业基地企业送政策上门    天津近几年颁布实施40部政策法规鼓励创业         
    收藏本站  
    您的位置 / 首页 / 正文
asp输出五星红旗的程序代码
发布时间:2012-01-30 来源:网络转摘 作者:网络

    程序代码

    <%

    Option Explicit

    Class FiveStarredFlag

        Private Width

        Private Height

        Private Filler

        Private SizeImage

        Private FileSize

        Private BitMap()

        Private Sub Class_Initialize

            Height = 200

            Width = 300

            Filler = (32 - Width Mod 32) Mod 32

            SizeImage = (Width + Filler) * Height \ 8

            FileSize = SizeImage + 14 + 40 + 8

   

            ReDim BitMap(Width + Filler - 1, Height - 1)

   

            Star Height * 0.25, Height * 0.75, Height * 0.15, 0

            Star Width / 3, Height * 0.9, Height * 0.05, 120.9637565320735

            Star Width * 0.4, Height * 0.8, Height * 0.05, 98.13010235415598

            Star Width * 0.4, Height * 0.65, Height * 0.05, 74.0546040990771

            Star Width / 3, Height * 0.55, Height * 0.05, 51.3401917459099

        End Sub

        Private Sub Class_Terminate

            Response.ContentType = "image/bmp"

            Response.BinaryWrite FileHeader & InfoHeader & Palette & ImageData

        End Sub

        Private Sub Star(x, y, r, a)

            Dim pi, v, d, i, j, k, m2

            pi = 3.1415926535897932

            v = r * Sin(pi * 0.1) / Sin(pi * 0.7)

            For j = -r To r

                For i = -r To r

                    d = Sqr(i ^ 2 + j ^ 2)

   

                    If d < v Then

                        BitMap(x + i, y + j) = 1

                    ElseIf d < r Then

                        If i = 0 Then

                            If j > 0 Then k = 90 Else k = -90

                        Else

                            k = Atn(j / i) * 180 / pi

                            If i < 0 Then k = k + 180

                        End If

   

                        k = k - a - 18

                        While k < 0

                            k = k + 360

                        Wend

                        While k >= 360

                            k = k - 360

                        Wend

                        While k >= 72

                            k = k - 72

                        Wend

                        If k > 36 Then k = 72 - k

   

                        m2 = d ^ 2 + r ^ 2 - d * r * 2 * Cos(k * pi / 180)

                        If (m2 + r ^ 2 - d ^ 2) / (Sqr(m2) * r * 2) > Cos(pi * 0.1) Then

                            BitMap(x + i, y + j) = 1

                        End If

                    End If

                Next

            Next

        End Sub

        Private Function CWord(I16)

            CWord = ChrB(I16 And &HFF) & ChrB(I16 \ 256 And &HFF)

        End Function

        Private Function CDWord(I32)

            CDWord = ChrB(I32 And &HFF) & ChrB(I32 \ 256 And &HFF) & ChrB(I32 \ 65536 And &HFF) & ChrB(I32 \ &HFFFFFF And &HFF)

        End Function

        'www.knowsky.com

        Private Property Get FileHeader

            Const FileType = &H4D42

            Const Reserved1 = 0

            Const Reserved2 = 0

            Const OffBits = 62

            FileHeader = CWord(FileType) & CDWord(FileSize) & CWord(Reserved1) & CWord(Reserved2) & CDWord(OffBits)

        End Property

        Private Property Get InfoHeader

            Const InfoSize = 40

            Const Planes = 1

            Const BitCount = 1

            Const Compression = 0

            Const XPelsPerMeter = 0

            Const YPelsPerMeter = 0

            Const ClrUsed = 0

            Const ClrImportant = 0

            InfoHeader = CDWord(InfoSize) & CDWord(Width) & CDWord(Height) & CWord(Planes) & CWord(BitCount) & CDWord(Compression) & CDWord(SizeImage) & CDWord(XPelsPerMeter) & CDWord(YPelsPerMeter) & CDWord(ClrUsed) & CDWord(ClrImportant)

        End Property

        Private Property Get Palette

            Const BackColor = &HFF0000

            Const ForeColor = &HFFFF00

            Palette = CDWord(BackColor) & CDWord(ForeColor)

        End Property

        Private Property Get ImageData

            Dim i, j

            ImageData = ""

            For j = 0 To Height - 1

                For i = 0 To Width + Filler - 1 Step 8

                    ImageData = ImageData & ChrB(BitMap(i, j) * 128 or BitMap(i + 1, j) * 64 or BitMap(i + 2, j) * 32 or BitMap(i + 3, j) * 16 or BitMap(i + 4, j) * 8 or BitMap(i + 5, j) * 4 or BitMap(i + 6, j) * 2 or BitMap(i + 7, j))

                Next

            Next

        End Property

    End Class

   

    With New FiveStarredFlag

    End With

    %>


 无相关文章

特别声明:本站部分资料来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行整理,谢谢。