程式碼
<%
選項明確
類別 FiveStarredFlag
私有寬度
私人高度
私人填料
私人尺寸圖片
私有檔案大小
私有 BitMap()
私有子類別_初始化
高度 = 200
寬度 = 300
填充物 = (32 - 寬度 Mod 32) Mod 32
影像大小 =(寬度 + 填滿)* 高度 8
檔案大小 = SizeImage + 14 + 40 + 8
ReDim BitMap(寬度 + 填充物 - 1, 高度 - 1)
星形高度 * 0.25, 高度 * 0.75, 高度 * 0.15, 0
星形寬度/3,高度*0.9,高度*0.05,120.9637565320735
星形寬度*0.4,高度*0.8,高度*0.05,98.13010235415598
星形寬度 * 0.4,高度 * 0.65,高度 * 0.05,74.0546040990771
星形寬度/3,高度*0.55,高度*0.05,51.3401917459099
結束子
私有子類別_
終止
Response.ContentType =“圖像/bmp”
Response.BinaryWrite FileHeader & InfoHeader & Palette & ImageData
End Sub
Private Sub Star(x, y, r, a)
暗淡 pi, v, d, i, j, k, m2
pi = 3.1415926535897932
v = r * Sin(pi * 0.1) / Sin(pi * 0.7)
對於 j = -r To r
對於 i = -r 至 r
d = Sqr(i ^ 2 + j ^ 2)
如果 d < v 則
點陣圖(x + i, y + j) = 1
ElseIf d < r 那麼
如果 i = 0 則
如果 j > 0 則 k = 90 否則 k = -90
別的
k = Atn(j / i) * 180 / pi
如果 i < 0 則 k = k + 180
結束 如果
k = k - a - 18
當 k < 0 時
k = k + 360
文德
當 k >= 360 時
k = k - 360
文德
當 k >= 72 時
k = k - 72
文德
若 k > 36 則 k = 72 - k
m2 = d ^ 2 + r ^ 2 - d * r * 2 * Cos(k * pi / 180)
如果 (m2 + r ^ 2 - d ^ 2) / (Sqr(m2) * r * 2) > Cos(pi * 0.1) 那麼
點陣圖(x + i, y + j) = 1
結束如果
結束如果
下一個
下一個
結束子
私有函數 CWord(I16)
CWord = ChrB(I16 和 &HFF) & ChrB(I16 256 和 &HFF)
結束函數
私有函數 CDWord(I32)
CDWord = ChrB(I32 和 &HFF) & ChrB(I32 256 和 &HFF) & ChrB(I32 65536 和 &HFF) & ChrB(I32 &HFFFFFF 和 &HFF)
結束功能
'www.knowsky.com
私有屬性取得檔案頭
常數文件類型 = &H4D42
常量保留 1 = 0
常數保留 2 = 0
常量關閉位元 = 62
檔案頭 = CWord(檔案類型) & CDWord(檔案大小) & CWord(保留 1) & CWord(保留 2) & CDWord(OffBits)
結束屬性
私有屬性取得 InfoHeader
常量資訊大小 = 40
常量平面 = 1
常數位元計數 = 1
常數壓縮 = 0
常數 XPelsPerMeter = 0
常量 YPelsPerMeter = 0
常量 ClrUsed = 0
常數 ClrImportant = 0
InfoHeader = CDWord(InfoSize) & CDWord(寬度) & CDWord(高度) & CWord(平面) & CWord(BitCount) & CDWord(壓縮) & CDWord(SizeImage) & CDWord(XPelsPerMeter) & CDWord(YPelsPerMeter) & CDWord(Cleter ) ) & CDWord(重要)
結束財產
私有財產獲取調色板
常量背景顏色 = &HFF0000
常量前景色 = &HFFFF00
調色盤 = CDWord(背景色) & CDWord(前景色)
結束屬性
私有屬性取得ImageData
調暗我,j
影像資料=“”
對於 j = 0 到高度 - 1
對於 i = 0 到寬度 + 填充 - 1 第 8 步
ImageData = ImageData & ChrB(BitMap(i, j) * 128 或 BitMap(i + 1, j) * 64 或 BitMap(i + 2, j) * 32 或 BitMap(i + 3, j) * 16 或 BitMap( i + 4, j) * 8 或BitMap(i + 5, j) * 4 或BitMap(i + 6, j) * 2 或BitMap(i + 7, j))
下一個
下一個
結束財產
以新的 FiveStarredFlag
結束課程
結束於
%>