Feed on
Posts
Comments

太外婆您一路走好

昨天妈妈一早就来电话,有种奇怪预感脑子里飞过,妈妈没有事情从来不会一早来电话骚扰我睡觉。妈妈告诉我太外婆去世了,一位94高龄,还裹小脚的老人走了,虽然在之前早有心里准备,但是还是愣了下。
太外婆是外婆的妈妈,外婆的爸爸在去世的早,太外婆一直跟我大舅公生活在一起,他们住在山上一个小村庄,从我外婆家爬上去也得半个多小时吧,那还算爬的快的。由于交通不方便,山上的居民都陆陆续续搬下来住了,等到我读高中的时候就听我外婆说山上就剩7户人家住着,大都是老人家,他们不愿意下来,其中一户就是大舅公跟太外婆。小时候呢,我外公外婆有时候会带着我们爬上去看望下他们,送点肉什么的,山上风景、空气都好,这个就是她老人家不愿意住下来的原因吧,她很习惯了那里的生活,即便是不通电,她也不愿意下来。
但是因为位了让她住的舒服点,在我读大学的时候,几位姨婆终于把她给请下了山,轮流生活在她们家住。太外婆还是很幸运的,她生了9个孩子,死了2个,现在2个儿子环境不好,但是5个女儿都很好,每过段时间,她们都会主动去接她回家住,一直伺候的很好。我跟太外婆说也没多大的感情,不过也算生活过一段时间,我的记忆里,她就是那种很慈祥,不怎么说话,早上6点多就要起床念经(虽然都不知道她在念什么,但是肯定是给儿女们祈福吧),但是当你叫她跟问候她的时候,她会很开心。上了年纪,耳朵不好使,跟她说话的时候很累,叫很大声,但是她心里非常清楚,每次看到她,她都能认出我是谁。放寒假的时候,为了哄老人家开心,我给外公外婆干洗,然后哄着太外婆也洗,她说了句让现在人很难想象的话,她说我上个月刚洗过(很难相信以前的人多久洗一次头啊)。不过我要帮她洗,老人家特别开心,那天她的笑容可是没消失过。
在10月份,我动手术的时候,妈妈要上来照顾我,家里的表妹就只能托付给外婆了,外婆就把太外婆送到了小姨婆家住。也就在那时候,太外婆不小心从床上摔下来,身体就不行了。其实心里想想还有点自责,要是我不去动这个手术,太外婆在外婆家住的好好的,也就不会出这事了。妈妈回家后2天一个电话给我“汇报”太外婆的情况。那时候大家都做好了心里准备,所以前天的去世,大家都没这么悲伤,因为老人家走的很安详,她的儿女都很孝顺。刚妈妈打电话说,下午她们把她的骨灰葬到了太外公的坟里,今天象山也下着大雪,但是所有家里的小辈能送的全去了,祝她老人家一路走好。

今天刚看到,觉得好可爱哦
















































用了几个网上的验证代码,发现这个很好用,而且很容易修改。这个验证码可刷新,而且也不用禁止页面缓存。

调用方法

  1. <input name="vcode" type="text"> </code>
  2. <img src="getcode.asp" alt="验证码,看不清楚?请点击刷新验证码" style="cursor : pointer;" onclick="this.src='getcode.asp'">
  3. 在服务器验证的时候Session("GetCode") = Request.Form("vcode")
  4.  
  5. getcode.asp页程序代码
  6.  
  7. <%
  8. Response.expires=-1
  9. Response.AddHeader"pragma","no-cache"
  10. Response.AddHeader"cache-control","no-store"
  11.  
  12. Const nMaxSaturation = 100 ' 最大色彩饱和度
  13. Const nBlankNoisyDotOdds = 0.2 ' 空白处噪点率
  14. Const nColorNoisyDotOdds = 0.1 ' 有色处噪点率
  15. Const nCharCount = 5 ' 产生的字符个数
  16. Const nPixelWidth = 20 ' 单个字符位图的宽度
  17. Const nPixelHeight = 20 ' 单个字符位图的高度
  18. Const nColorHue = 220 ' 显示验证码的色调(-1表示随机色调, -2表示灰度色调)
  19. Const nAngleRandom = 10 ' 角度随机量
  20. Const nLengthRandom = 10 ' 长度随机量(百分比)
  21. Const cCharSet = "0123456789ABC"
  22. ' 构成验证码的字符集;如果扩充了下边的字母矢量库
  23.  
  24. Dim Buf(), DigtalStr
  25. Dim Lines(), LineCount
  26. Dim CursorX, CursorY, DirX, DirY
  27.  
  28. Randomize
  29. Call CreatValidCode("GetCode")
  30.  
  31. Sub CDGen_Reset()
  32. ' 复位矢量笔和环境变量
  33. LineCount = 0
  34. CursorX = 0
  35. CursorY = 0
  36. ' 初始的光笔方向是垂直向下
  37. DirX = 0
  38. DirY = 1
  39. End Sub
  40.  
  41. Sub CDGen_Clear()
  42. ' 清空位图阵列
  43. Dim i, j
  44. ReDim Buf(nPixelHeight - 1, nCharCount * nPixelWidth - 1)
  45.  
  46. For j = 0 To nPixelHeight - 1
  47. For i = 0 To nCharCount * nPixelWidth - 1
  48. Buf(j, i) = 0
  49. Next
  50. Next
  51. End Sub
  52.  
  53. Sub CDGen_PSet(X, Y)
  54. ' 在位图阵列上画点
  55. Buf(Y, X) = 1
  56. End Sub
  57.  
  58. Sub CDGen_Line(X1, Y1, X2, Y2)
  59. ' 在位图阵列上画线
  60. Dim DX, DY, DeltaT, i
  61.  
  62. DX = X2 - X1
  63. DY = Y2 - Y1
  64. If Abs(DX) > Abs(DY) Then DeltaT = Abs(DX) Else DeltaT = Abs(DY)
  65. For i = 0 To DeltaT
  66. CDGen_PSet X1 + DX * i / DeltaT, Y1 + DY * i / DeltaT
  67. Next
  68. End Sub
  69.  
  70. Sub CDGen_FowardDraw(nLength)
  71. ' 按当前光笔方向绘制指定长度并移动光笔,正数表示从左向右/从上向下绘制,负数表示从右向左/从下向上绘制
  72. nLength = Sgn(nLength) * Abs(nLength) * (1 - nLengthRandom / 100 + Rnd * nLenghtRandom * 2 / 100)
  73. ReDim Preserve Lines(3, LineCount)
  74. Lines(0, LineCount) = CursorX
  75. Lines(1, LineCount) = CursorY
  76. CursorX = CursorX + DirX * nLength
  77. CursorY = CursorY + DirY * nLength
  78. Lines(2, LineCount) = CursorX
  79. Lines(3, LineCount) = CursorY
  80. LineCount = LineCount + 1
  81. End Sub
  82.  
  83. Sub CDGen_SetDirection(nAngle)
  84. ' 按指定角度设定画笔方向, 正数表示相对当前方向顺时针改变方向,负数表示相对当前方向逆时针改变方向
  85. Dim DX, DY
  86.  
  87. nAngle = Sgn(nAngle) * (Abs(nAngle) - nAngleRandom + Rnd * nAngleRandom * 2) / 180 * 3.1415926
  88. DX = DirX
  89. DY = DirY
  90. DirX = DX * Cos(nAngle) - DY * Sin(nAngle)
  91. DirY = DX * Sin(nAngle) + DY * Cos(nAngle)
  92. End Sub
  93.  
  94. Sub CDGen_MoveToMiddle(nActionIndex, nPercent)
  95. ' 将画笔光标移动到指定动作的中间点上,nPercent为中间位置的百分比
  96. Dim DeltaX, DeltaY
  97.  
  98. DeltaX = Lines(2, nActionIndex) - Lines(0, nActionIndex)
  99. DeltaY = Lines(3, nActionIndex) - Lines(1, nActionIndex)
  100. CursorX = Lines(0, nActionIndex) + Sgn(DeltaX) * Abs(DeltaX) * nPercent / 100
  101. CursorY = Lines(1, nActionIndex) + Sgn(DeltaY) * Abs(DeltaY) * nPercent / 100
  102. End Sub
  103.  
  104. Sub CDGen_MoveCursor(nActionIndex)
  105. ' 将画笔光标移动到指定动作的起始点上
  106. CursorX = Lines(0, nActionIndex)
  107. CursorY = Lines(1, nActionIndex)
  108. End Sub
  109.  
  110. Sub CDGen_Close(nActionIndex)
  111. ' 将当前光笔位置与指定动作的起始点闭合并移动光笔
  112. ReDim Preserve Lines(3, LineCount)
  113. Lines(0, LineCount) = CursorX
  114. Lines(1, LineCount) = CursorY
  115. CursorX = Lines(0, nActionIndex)
  116. CursorY = Lines(1, nActionIndex)
  117. Lines(2, LineCount) = CursorX
  118. Lines(3, LineCount) = CursorY
  119. LineCount = LineCount + 1
  120. End Sub
  121.  
  122. Sub CDGen_CloseToMiddle(nActionIndex, nPercent)
  123. ' 将当前光笔位置与指定动作的中间点闭合并移动光笔,nPercent为中间位置的百分比
  124. Dim DeltaX, DeltaY
  125.  
  126. ReDim Preserve Lines(3, LineCount)
  127. Lines(0, LineCount) = CursorX
  128. Lines(1, LineCount) = CursorY
  129. DeltaX = Lines(2, nActionIndex) - Lines(0, nActionIndex)
  130. DeltaY = Lines(3, nActionIndex) - Lines(1, nActionIndex)
  131. CursorX = Lines(0, nActionIndex) + Sgn(DeltaX) * Abs(DeltaX) * nPercent / 100
  132. CursorY = Lines(1, nActionIndex) + Sgn(DeltaY) * Abs(DeltaY) * nPercent / 100
  133. Lines(2, LineCount) = CursorX
  134. Lines(3, LineCount) = CursorY
  135. LineCount = LineCount + 1
  136. End Sub
  137.  
  138. Sub CDGen_Flush(X0, Y0)
  139. ' 按照当前的画笔动作序列绘制位图点阵
  140. Dim MaxX, MinX, MaxY, MinY
  141. Dim DeltaX, DeltaY, StepX, StepY, OffsetX, OffsetY
  142. Dim i
  143.  
  144. MaxX = MinX = MaxY = MinY = 0
  145. For i = 0 To LineCount - 1
  146. If MaxX < Lines(0, i) Then MaxX = Lines(0, i)
  147. If MaxX < Lines(2, i) Then MaxX = Lines(2, i)
  148. If MinX > Lines(0, i) Then MinX = Lines(0, i)
  149. If MinX > Lines(2, i) Then MinX = Lines(2, i)
  150. If MaxY < Lines(1, i) Then MaxY = Lines(1, i)
  151. If MaxY < Lines(3, i) Then MaxY = Lines(3, i)
  152. If MinY > Lines(1, i) Then MinY = Lines(1, i)
  153. If MinY > Lines(3, i) Then MinY = Lines(3, i)
  154. Next
  155. DeltaX = MaxX - MinX
  156. DeltaY = MaxY - MinY
  157. If DeltaX = 0 Then DeltaX = 1
  158. If DeltaY = 0 Then DeltaY = 1
  159. MaxX = MinX
  160. MaxY = MinY
  161. If DeltaX > DeltaY Then
  162. StepX = (nPixelWidth - 2) / DeltaX
  163. StepY = (nPixelHeight - 2) / DeltaX
  164. OffsetX = 0
  165. OffsetY = (DeltaX - DeltaY) / 2
  166. Else
  167. StepX = (nPixelWidth - 2) / DeltaY
  168. StepY = (nPixelHeight - 2) / DeltaY
  169. OffsetX = (DeltaY - DeltaX) / 2
  170. OffsetY = 0
  171. End If
  172. For i = 0 To LineCount - 1
  173. Lines(0, i) = Round((Lines(0, i) - MaxX + OffsetX) * StepX, 0)
  174. If Lines(0, i) < 0 Then Lines(0, i) = 0
  175. If Lines(0, i) >= nPixelWidth - 2 Then Lines(0, i) = nPixelWidth - 3
  176. Lines(1, i) = Round((Lines(1, i) - MaxY + OffsetY) * StepY, 0)
  177. If Lines(1, i) < 0 Then Lines(1, i) = 0
  178. If Lines(1, i) >= nPixelHeight - 2 Then Lines(1, i) = nPixelHeight - 3
  179. Lines(2, i) = Round((Lines(2, i) - MinX + OffsetX) * StepX, 0)
  180. If Lines(2, i) < 0 Then Lines(2, i) = 0
  181. If Lines(2, i) >= nPixelWidth - 2 Then Lines(2, i) = nPixelWidth - 3
  182. Lines(3, i) = Round((Lines(3, i) - MinY + OffsetY) * StepY, 0)
  183. If Lines(3, i) < 0 Then Lines(3, i) = 0
  184. If Lines(3, i) >= nPixelHeight - 2 Then Lines(3, i) = nPixelHeight - 3
  185. CDGen_Line Lines(0, i) + X0 + 1, Lines(1, i) + Y0 + 1, Lines(2, i) + X0 + 1, Lines(3, i) + Y0 + 1
  186. Next
  187. End Sub
  188.  
  189. Sub CDGen_Char(cChar, X0, Y0)
  190. ' 在指定坐标处生成指定字符的位图阵列
  191. CDGen_Reset
  192. Select Case cChar
  193. Case "0"
  194. CDGen_SetDirection -60 ' 逆时针60度(相对于垂直线)
  195. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  196. CDGen_SetDirection -60 ' 逆时针60度
  197. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  198. CDGen_SetDirection 120 ' 顺时针120度
  199. CDGen_FowardDraw 1.5 ' 绘制1.5个单位
  200. CDGen_SetDirection -60 ' 逆时针60度
  201. CDGen_FowardDraw 0.7 ' 绘制0.7个单位
  202. CDGen_SetDirection -60 ' 顺时针120度
  203. CDGen_FowardDraw 0.7 ' 绘制0.7个单位
  204. CDGen_Close 0 ' 封闭当前笔与第0笔(0开始)
  205. Case "1"
  206. CDGen_SetDirection -90 ' 逆时针90度(相对于垂直线)
  207. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  208. CDGen_MoveToMiddle 0, 50 ' 移动画笔的位置到第0笔(0开始)的50%处
  209. CDGen_SetDirection 90 ' 逆时针90度
  210. CDGen_FowardDraw -1.4 ' 反方向绘制1.4个单位
  211. CDGen_SetDirection 30 ' 逆时针30度
  212. CDGen_FowardDraw 0.4 ' 绘制0.4个单位
  213. Case "2"
  214. CDGen_SetDirection 45 ' 顺时针45度(相对于垂直线)
  215. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  216. CDGen_SetDirection -120 ' 逆时针120度
  217. CDGen_FowardDraw 0.4 ' 绘制0.4个单位
  218. CDGen_SetDirection 60 ' 顺时针60度
  219. CDGen_FowardDraw 0.6 ' 绘制0.6个单位
  220. CDGen_SetDirection 60 ' 顺时针60度
  221. CDGen_FowardDraw 1.6 ' 绘制1.6个单位
  222. CDGen_SetDirection -135 ' 逆时针135度
  223. CDGen_FowardDraw 1.0 ' 绘制1.0个单位
  224. Case "3"
  225. CDGen_SetDirection -90 ' 逆时针90度(相对于垂直线)
  226. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  227. CDGen_SetDirection 135 ' 顺时针135度
  228. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  229. CDGen_SetDirection -120 ' 逆时针120度
  230. CDGen_FowardDraw 0.6 ' 绘制0.6个单位
  231. CDGen_SetDirection 80 ' 顺时针80度
  232. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  233. CDGen_SetDirection 60 ' 顺时针60度
  234. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  235. CDGen_SetDirection 60 ' 顺时针60度
  236. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  237. Case "4"
  238. CDGen_SetDirection 20 ' 顺时针20度(相对于垂直线)
  239. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  240. CDGen_SetDirection -110 ' 逆时针110度
  241. CDGen_FowardDraw 1.2 ' 绘制1.2个单位
  242. CDGen_MoveToMiddle 1, 60 ' 移动画笔的位置到第1笔(0开始)的60%处
  243. CDGen_SetDirection 90 ' 顺时针90度
  244. CDGen_FowardDraw 0.7 ' 绘制0.7个单位
  245. CDGen_MoveCursor 2 ' 移动画笔到第2笔(0开始)的开始处
  246. CDGen_FowardDraw -1.5 ' 反方向绘制1.5个单位
  247. Case "5"
  248. CDGen_SetDirection 90 ' 顺时针90度(相对于垂直线)
  249. CDGen_FowardDraw 1.0 ' 绘制1.0个单位
  250. CDGen_SetDirection -90 ' 逆时针90度
  251. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  252. CDGen_SetDirection -90 ' 逆时针90度
  253. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  254. CDGen_SetDirection 30 ' 顺时针30度
  255. CDGen_FowardDraw 0.4 ' 绘制0.4个单位
  256. CDGen_SetDirection 60 ' 顺时针60度
  257. CDGen_FowardDraw 0.4 ' 绘制0.4个单位
  258. CDGen_SetDirection 30 ' 顺时针30度
  259. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  260. CDGen_SetDirection 60 ' 顺时针60度
  261. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  262. Case "6"
  263. CDGen_SetDirection -60 ' 逆时针60度(相对于垂直线)
  264. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  265. CDGen_SetDirection -60 ' 逆时针60度
  266. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  267. CDGen_SetDirection 120 ' 顺时针120度
  268. CDGen_FowardDraw 1.5 ' 绘制1.5个单位
  269. CDGen_SetDirection 120 ' 顺时针120度
  270. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  271. CDGen_SetDirection 120 ' 顺时针120度
  272. CDGen_FowardDraw 0.7 ' 绘制0.7个单位
  273. CDGen_SetDirection 120 ' 顺时针120度
  274. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  275. CDGen_SetDirection 120 ' 顺时针120度
  276. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  277. CDGen_CloseToMiddle 2, 50 ' 将当前画笔位置与第2笔(0开始)的50%处封闭
  278. Case "7"
  279. CDGen_SetDirection 180 ' 顺时针180度(相对于垂直线)
  280. CDGen_FowardDraw 0.3 ' 绘制0.3个单位
  281. CDGen_SetDirection 90 ' 顺时针90度
  282. CDGen_FowardDraw 0.9 ' 绘制0.9个单位
  283. CDGen_SetDirection 120 ' 顺时针120度
  284. CDGen_FowardDraw 1.3 ' 绘制1.3个单位
  285. Case "8"
  286. CDGen_SetDirection -60 ' 逆时针60度(相对于垂直线)
  287. CDGen_FowardDraw -0.8 ' 反方向绘制0.8个单位
  288. CDGen_SetDirection -60 ' 逆时针60度
  289. CDGen_FowardDraw -0.8 ' 反方向绘制0.8个单位
  290. CDGen_SetDirection 120 ' 顺时针120度
  291. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  292. CDGen_SetDirection 110 ' 顺时针110度
  293. CDGen_FowardDraw -1.5 ' 反方向绘制1.5个单位
  294. CDGen_SetDirection -110 ' 逆时针110度
  295. CDGen_FowardDraw 0.9 ' 绘制0.9个单位
  296. CDGen_SetDirection 60 ' 顺时针60度
  297. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  298. CDGen_SetDirection 60 ' 顺时针60度
  299. CDGen_FowardDraw 0.8 ' 绘制0.8个单位
  300. CDGen_SetDirection 60 ' 顺时针60度
  301. CDGen_FowardDraw 0.9 ' 绘制0.9个单位
  302. CDGen_SetDirection 70 ' 顺时针70度
  303. CDGen_FowardDraw 1.5 ' 绘制1.5个单位
  304. CDGen_Close 0 ' 封闭当前笔与第0笔(0开始)
  305. Case "9"
  306. CDGen_SetDirection 120 ' 逆时针60度(相对于垂直线)
  307. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  308. CDGen_SetDirection -60 ' 逆时针60度
  309. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  310. CDGen_SetDirection -60 ' 顺时针120度
  311. CDGen_FowardDraw -1.5 ' 绘制1.5个单位
  312. CDGen_SetDirection -60 ' 顺时针120度
  313. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  314. CDGen_SetDirection -60 ' 顺时针120度
  315. CDGen_FowardDraw -0.7 ' 绘制0.7个单位
  316. CDGen_SetDirection 120 ' 顺时针120度
  317. CDGen_FowardDraw 0.7 ' 反方向绘制0.7个单位
  318. CDGen_SetDirection -60 ' 顺时针120度
  319. CDGen_FowardDraw 0.5 ' 绘制0.5个单位
  320. CDGen_CloseToMiddle 2, 50 ' 将当前画笔位置与第2笔(0开始)的50%处封闭
  321. ' 以下为字母的矢量动作,有兴趣的可以继续
  322. Case "A"
  323. CDGen_SetDirection -(Rnd * 20 + 150) ' 逆时针150-170度(相对于垂直线)
  324. CDGen_FowardDraw Rnd * 0.2 + 1.1 ' 绘制1.1-1.3个单位
  325. CDGen_SetDirection Rnd * 20 + 140 ' 顺时针140-160度
  326. CDGen_FowardDraw Rnd * 0.2 + 1.1 ' 绘制1.1-1.3个单位
  327. CDGen_MoveToMiddle 0, 30 ' 移动画笔的位置到第1笔(0开始)的30%处
  328. CDGen_CloseToMiddle 1, 70 ' 将当前画笔位置与第1笔(0开始)的70%处封闭
  329. Case "B"
  330. CDGen_SetDirection -(Rnd * 20 + 50) ' 逆时针50-70度(相对于垂直线)
  331. CDGen_FowardDraw Rnd * 0.4 + 0.8 ' 绘制0.8-1.2个单位
  332. CDGen_SetDirection Rnd * 20 + 110 ' 顺时针110-130度
  333. CDGen_FowardDraw Rnd * 0.2 + 0.6 ' 绘制0.6-0.8个单位
  334. CDGen_SetDirection -(Rnd * 20 + 110) ' 逆时针110-130度
  335. CDGen_FowardDraw Rnd * 0.2 + 0.6 ' 绘制0.6-0.8个单位
  336. CDGen_SetDirection Rnd * 20 + 110 ' 顺时针110-130度
  337. CDGen_FowardDraw Rnd * 0.4 + 0.8 ' 绘制0.8-1.2个单位
  338. CDGen_Close 0 ' 封闭当前笔与第1笔(0开始)
  339. Case "C"
  340. CDGen_SetDirection -60 ' 逆时针60度(相对于垂直线)
  341. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  342. CDGen_SetDirection -60 ' 逆时针60度
  343. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  344. CDGen_SetDirection 120 ' 顺时针120度
  345. CDGen_FowardDraw 1.5 ' 绘制1.5个单位
  346. CDGen_SetDirection 120 ' 顺时针120度
  347. CDGen_FowardDraw -0.7 ' 反方向绘制0.7个单位
  348. CDGen_SetDirection 120 ' 顺时针120度
  349. CDGen_FowardDraw 0.7 ' 绘制0.7个单位
  350. '增加更多字符集,请相应修改 cCharSet 的属性值
  351.  
  352. End Select
  353. CDGen_Flush X0, Y0
  354. End Sub
  355.  
  356. Sub CDGen_Blur()
  357. ' 对产生的位图进行柔化处理
  358. Dim i, j
  359.  
  360. For j = 1 To nPixelHeight - 2
  361. For i = 1 To nCharCount * nPixelWidth - 2
  362. If Buf(j, i) = 0 Then
  363. If ((Buf(j, i - 1) or Buf(j + 1, i)) And 1) <> 0 Then
  364. ' 如果当前点是空白点,且上下左右四个点中有一个点是有色点,则该点做柔化处理
  365. Buf(j, i) = 2
  366. End If
  367. End If
  368. Next
  369. Next
  370. End Sub
  371.  
  372. Sub CDGen_NoisyDot()
  373. ' 对产生的位图进行噪点处理
  374. Dim i, j, NoisyDot, CurDot
  375.  
  376. For j = 0 To nPixelHeight - 1
  377. For i = 0 To nCharCount * nPixelWidth - 1
  378. If Buf(j, i) <> 0 Then
  379. NoisyDot = Int(Rnd * Rnd * nMaxSaturation)
  380. Select Case nColorNoisyDotOdds
  381. Case 0
  382. CurDot = nMaxSaturation
  383. Case 1
  384. CurDot = 0
  385. Case Else
  386. CurDot = NoisyDot
  387. End Select
  388. If Rnd < nColorNoisyDotOdds Then Buf(j, i) = CurDot Else Buf(j, i) = nMaxSaturation
  389. Else
  390. NoisyDot = Int(Rnd * nMaxSaturation)
  391. Select Case nBlankNoisyDotOdds
  392. Case 0
  393. CurDot = 0
  394. Case 1
  395. CurDot = nMaxSaturation
  396. Case Else
  397. CurDot = NoisyDot
  398. End Select
  399. If Rnd < nBlankNoisyDotOdds Then Buf(j, i) = CurDot Else Buf(j, i) = 0
  400. End If
  401. Next
  402. Next
  403. End Sub
  404.  
  405. Sub CDGen()
  406. ' 生成位图阵列
  407. Dim i, Ch
  408.  
  409. DigtalStr = ""
  410. CDGen_Clear
  411. For i = 0 To nCharCount - 1
  412. Ch = Mid(cCharSet, Int(Rnd * Len(cCharSet)) + 1, 1)
  413. DigtalStr = DigtalStr + Ch
  414. CDGen_Char Ch, i * nPixelWidth, 0
  415. Next
  416. CDGen_Blur
  417. CDGen_NoisyDot
  418. End Sub
  419.  
  420. Function HSBToRGB(vH, vS, vB)
  421. ' 将颜色值由HSB转换为RGB
  422. Dim aRGB(3), RGB1st, RGB2nd, RGB3rd
  423. Dim nH, nS, nB
  424. Dim lH, nF, nP, nQ, nT
  425.  
  426. vH = (vH Mod 360)
  427. If vS > 100 Then
  428. vS = 100
  429. ElseIf vS < 0 Then
  430. vS = 0
  431. End If
  432. If vB > 100 Then
  433. vB = 100
  434. ElseIf vB < 0 Then
  435. vB = 0
  436. End If
  437. If vS > 0 Then
  438. nH = vH / 60
  439. nS = vS / 100
  440. nB = vB / 100
  441. lH = Int(nH)
  442. nF = nH - lH
  443. nP = nB * (1 - nS)
  444. nQ = nB * (1 - nS * nF)
  445. nT = nB * (1 - nS * (1 - nF))
  446. Select Case lH
  447. Case 0
  448. aRGB(0) = nB * 255
  449. aRGB(1) = nT * 255
  450. aRGB(2) = nP * 255
  451. Case 1
  452. aRGB(0) = nQ * 255
  453. aRGB(1) = nB * 255
  454. aRGB(2) = nP * 255
  455. Case 2
  456. aRGB(0) = nP * 255
  457. aRGB(1) = nB * 255
  458. aRGB(2) = nT * 255
  459. Case 3
  460. aRGB(0) = nP * 255
  461. aRGB(1) = nQ * 255
  462. aRGB(2) = nB * 255
  463. Case 4
  464. aRGB(0) = nT * 255
  465. aRGB(1) = nP * 255
  466. aRGB(2) = nB * 255
  467. Case 5
  468. aRGB(0) = nB * 255
  469. aRGB(1) = nP * 255
  470. aRGB(2) = nQ * 255
  471. End Select
  472. Else
  473. aRGB(0) = (vB * 255) / 100
  474. aRGB(1) = aRGB(0)
  475. aRGB(2) = aRGB(0)
  476. End If
  477. HSBToRGB = ChrB(Round(aRGB(2), 0)) & ChrB(Round(aRGB(1), 0)) & ChrB(Round(aRGB(0), 0))
  478. End Function
  479.  
  480. Sub CreatValidCode(pSN)
  481. Dim i, j, CurColorHue
  482.  
  483. ' 禁止缓存
  484. Response.Expires = -9999
  485. Response.AddHeader "pragma", "no-cache"
  486. Response.AddHeader "cache-ctrol", "no-cache"
  487. Response.ContentType = "image/bmp"
  488.  
  489. Call CDGen
  490. Session(pSN) = DigtalStr '记录入Session
  491.  
  492. Dim PicWidth, PicHeight, FileSize, PicDataSize
  493. PicWidth = nCharCount * nPixelWidth
  494. PicHeight = nPixelHeight
  495. PicDataSize = PicWidth * PicHeight * 3
  496. FileSize = PicDataSize + 54
  497.  
  498. ' 输出BMP文件信息头
  499. Response.BinaryWrite ChrB(66) & ChrB(77) & _
  500. ChrB(FileSize Mod 256) & ChrB((FileSize \ 256) Mod 256) & ChrB((FileSize \ 256 \ 256) Mod 256) & ChrB(FileSize \ 256 \ 256 \ 256) & _
  501. ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & _
  502. ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0)
  503.  
  504. ' 输出BMP位图信息头
  505. Response.BinaryWrite ChrB(40) & ChrB(0) & ChrB(0) & ChrB(0) & _
  506. ChrB(PicWidth Mod 256) & ChrB((PicWidth \ 256) Mod 256) & ChrB((PicWidth \ 256 \ 256) Mod 256) & ChrB(PicWidth \ 256 \ 256 \ 256) & _
  507. ChrB(PicHeight Mod 256) & ChrB((PicHeight \ 256) Mod 256) & ChrB((PicHeight \ 256 \ 256) Mod 256) & ChrB(PicHeight \ 256 \ 256 \ 256) & _
  508. ChrB(1) & ChrB(0) & _
  509. ChrB(24) & ChrB(0) & _
  510. ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & _
  511. ChrB(PicDataSize Mod 256) & ChrB((PicDataSize \ 256) Mod 256) & ChrB((PicDataSize \ 256 \ 256) Mod 256) & ChrB(PicDataSize \ 256 \ 256 \ 256) & _
  512. ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & _
  513. ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & _
  514. ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & _
  515. ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)
  516.  
  517. ' 逐点输出位图阵列
  518. If nColorHue = -1 Then
  519. CurColorHue = Int(Rnd * 360)
  520. ElseIf nColorHue = -2 Then
  521. CurColorHue = 0
  522. Else
  523. CurColorHue = nColorHue
  524. End If
  525. For j = 0 To nPixelHeight - 1
  526. For i = 0 To Len(DigtalStr) * nPixelWidth - 1
  527. If nColorHue = -2 Then
  528. Response.BinaryWrite HSBToRGB(CurColorHue, 0, 100 - Buf(nPixelHeight - 1 - j, i))
  529. Else
  530. Response.BinaryWrite HSBToRGB(CurColorHue, Buf(nPixelHeight - 1 - j, i), 100)
  531. End If
  532. Next
  533. Next
  534. End Sub
  535. %>

在查找东西中无意间看到,觉得好精致,好高贵,这个还能是蛋么,让人为之一叹!!
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null

null
日语里石蒜花有两个名字:彼岸花,曼珠沙华。

春分前后三天叫春彼岸,秋分前后三天叫秋彼岸。是上坟的日子。彼岸花开在秋彼岸期间,非常准时,所以才叫彼岸花吧。

我还是比较喜欢叫它彼岸花,在2001年7月刚进学校的时候,第一次见到它,觉得好漂亮,好奇怪,为什么没有叶子呢,还这么鲜红。大学4年的生活,每次看到它寝室的人都会互相问下,这个到底什么花啊,但是每次5个人都是一样的答案“不知道呢”。貌似我们5个都不是很好学,没有一个人去翻阅查找下,就是静静的看着它一年又一年的开开谢谢。今天算了揭开了它的面纱,真想再回学校好好的观摩下它的神秘。

从春天开始到夏天结束,地表上毫无踪影的石蒜花,时节临近秋分,仿佛仅只是一夜间就从地下冲冠而出,堤埂边,树荫下,团团簇簇争相怒放。无论夏天偏热还是偏冷,多雨还是干燥,石蒜花都会在秋分前后盛开,仿佛有约在先一般,准时抢走人们想要追逐金黄秋色的视线。

开花的时候没有一片叶,长叶的时候不见一瓣花—难怪在韩国她会被呼之为”相思花”呢:)国情不同,花语也不一样。在日本由于秋分季节有扫墓的习俗,所以石蒜花更多了一抹悲伤的色彩,而她精致绝伦的花姿也被当作”天堂之花”的美艳。
在与节气旧俗毫不相干的欧美,美丽的石蒜花当然是炙手可热的园艺品种,一定可以尽情沐浴所有溢美之词吧:)

许是石蒜花的鳞茎本身有毒的缘故吧,我每每看到她那红得火一般鲜艳的颜色,就不禁会想起一个词汇:poisonous。

据说日本的石蒜花从遗传的角度来说都可以归为一株,因此不分雌雄无从以种子的形态繁衍生息。以此推算的话,现在日本的石蒜花很可能是很早很早以前从中国传过去的、具有遗传基因的仅仅1棵的雌株,以分株形式繁衍扩生到各地的。

凝望着石蒜花那纤细华丽的花瓣和花蕊,脑子里试着想像一下我的神经可以想像得到的亘远,心中不禁感慨:只是一株花,怎么竟可以蕴含这么深沉浩渺的缘会呢!

汇龙潭进口

20070303146.jpg
20070303145.jpg
侯黄纪念碑
百鸟朝阳
百鸟朝阳

20070303164.jpg
“断桥”
花瓶
小瀑布
竹篱笆
20070303180.jpg
圆木门
水上小路
鳌鱼
菩萨
20070303191.jpg
“破树”
20070303196.jpg
小山洞
状元锺
状元锺
横着长的老树

2007 1月 世纪公园

dscn3259.jpgdscn3260.jpgdscn3262.jpgdscn3267.jpg

鳌鱼

ssm10165.jpg