分享
 
 
 

asp画的五星红旗(bmp格式)

王朝学院·作者佚名  2009-06-05
窄屏简体版  字體: |||超大  

程序代码

<%

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

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有