程序代
<%
オプション明示的
クラス FiveStarredFlag
プライベート幅
プライベートの身長
プライベートフィラー
プライベートサイズ画像
プライベートファイルサイズ
Private BitMap()
Private Sub Class_Initialize
高さ = 200
幅 = 300
フィラー = (32 - 幅 Mod 32) Mod 32
サイズ画像 = (幅 + フィラー) * 高さ 8
FileSize = 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
End Sub
Private Sub Class_Terminate
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 から r の場合
For i = -r To r
d = Sqr(i ^ 2 + j ^ 2)
d < v の場合
ビットマップ(x + i, y + j) = 1
ElseIf d < r then
i = 0 の場合
j > 0 の場合 k = 90 それ以外の場合 k = -90
それ以外
k = Atn(j / i) * 180 / パイ
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
終了の場合
終了の場合
次
次
End Sub
プライベート関数 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」
プライベート プロパティ Get FileHeader
Const FileType = &H4D42
定数予約1 = 0
定数予約2 = 0
定数オフビット = 62
FileHeader = CWord(FileType) & CDWord(FileSize) & CWord(Reserved1) & CWord(Reserved2) & CDWord(OffBits)
End プロパティ
プライベート プロパティ Get InfoHeader
定数情報サイズ = 40
定数平面 = 1
定数ビットカウント = 1
定数圧縮 = 0
Const XPelsPerMeter = 0
定数 YPelsPerMeter = 0
定数Clrused = 0
定数Clr重要 = 0
InfoHeader = CDWord(InfoSize) & CDWord(Width) & CDWord(Height) & CWord(Planes) & CWord(BitCount) & CDWord(Compression) & CDWord(SizeImage) & CDWord(XPelsPerMeter) & CDWord(YPelsPerMeter) & CDWord(Clrused) ) & CDWord(Clr重要)
End プロパティ
プライベート プロパティ パレットの取得
Const BackColor = &HFF0000
Const ForeColor = &HFFFF00
パレット = CDWord(バックカラー) & CDWord(フォアカラー)
End プロパティ
Private プロパティ Get ImageData
薄暗いi、j
画像データ = ""
j = 0 から高さ - 1 まで
For 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 で
クラスを終了する
で終わる
%>