设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5072|回复: 4
打印 上一主题 下一主题

無聊的東東 RM_Bar_code RM條碼

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
105
在线时间
67 小时
注册时间
2007-12-16
帖子
75
跳转到指定楼层
1
发表于 2008-12-4 08:23:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
同步發表於RMXP原创技术发布区

這東西向  照相手機的"行動條碼"

  1. #==============================================================================
  2. # RM_Bar_code By 釣到一隻猴子@_@  (  AAM@_@  )
  3. =begin
  4. #------------------------------------------------------------------------------

  5. 使用方法


  6. rmbc = RM_Bar_code.new(text[, size]) # text 為原文字(Stirng類物件)
  7. # size為條碼大小(size * size的正方形)
  8. # 以原文字生成RM_Bar_code

  9. rmbc = RM_Bar_code.new(bitmap) # bitmap 為條碼影像(Bitmap類物件)
  10. # 以條碼影像生成RM_Bar_code

  11. rmbc.make_bar_code(text[, size])
  12. # 同RM_Bar_code.new(text[, size])  但僅可用於RM_Bar_code類物件

  13. rmbc.load_bar_code(bitmap)
  14. # 同RM_Bar_code.new(bitmap)  但僅可用於RM_Bar_code類物件

  15. rmbc.text
  16. # 取得原文字(Stirng類物件)

  17. rmbc.bitmap
  18. # 取得條碼影像(Bitmap類物件)

  19. #------------------------------------------------------------------------------
  20. =end
  21. #==============================================================================

  22. #==============================================================================
  23. # ■ RM_Bar_code
  24. #------------------------------------------------------------------------------
  25. #  。
  26. #==============================================================================

  27. class RM_Bar_code
  28.   #--------------------------------------------------------------------------
  29.   # ●
  30.   #--------------------------------------------------------------------------
  31.   Black = [0,0,0,255].pack("c*")
  32.   Gray = [128,128,128,255].pack("c*")
  33.   White = [255,255,255,255].pack("c*")
  34.   #--------------------------------------------------------------------------
  35.   # ●
  36.   #--------------------------------------------------------------------------
  37.   def initialize(data, size = 32)
  38.     @bitmap = nil
  39.     @text = ""
  40.     if data.is_a?(String)
  41.       make_bar_code(data, size)
  42.     elsif data.is_a?(Bitmap)
  43.       load_bar_code(data)
  44. #    else
  45.     end
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ●
  49.   #--------------------------------------------------------------------------
  50.   def make_bar_code(text, size = 32)
  51.     @text = text
  52.     @bitmap = Bitmap.new(size, size)
  53.     b = @text.unpack("b*")[0]
  54.     b += "2" * (size ** 2 - b.size) if b.size < size ** 2
  55.     b.gsub!("0") {Black}
  56.     b.gsub!("1") {White}
  57.     b.gsub!("2") {Gray}
  58.     @bitmap.save(b)
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ●
  62.   #--------------------------------------------------------------------------
  63.   def load_bar_code(bitmap)
  64.     @bitmap = bitmap
  65.     b = @bitmap.load
  66.     b.gsub!(Gray) {""}
  67.     b.gsub!(Black) {"0"}
  68.     b.gsub!(White) {"1"}
  69.     @text = [b].pack("b*")
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ●
  73.   #--------------------------------------------------------------------------
  74.   def text
  75.     @text
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ●
  79.   #--------------------------------------------------------------------------
  80.   def bitmap
  81.     @bitmap
  82.   end
  83. end

  84. #==============================================================================
  85. # ■ Bitmap
  86. #------------------------------------------------------------------------------
  87. #  处理影像的类。
  88. #==============================================================================

  89. class Bitmap
  90.   RtlMoveMemory_pi = Win32API.new('kernel32', 'RtlMoveMemory', 'pii', 'i')
  91.   RtlMoveMemory_ip = Win32API.new('kernel32', 'RtlMoveMemory', 'ipi', 'i')
  92.   #--------------------------------------------------------------------------
  93.   # ●
  94.   #--------------------------------------------------------------------------
  95.   def load
  96.     data = "rgba" * width * height
  97.     RtlMoveMemory_pi.call(data, address, data.length)
  98.     return data
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ●
  102.   #--------------------------------------------------------------------------
  103.   def save(str)
  104.     RtlMoveMemory_ip.call(address, str, width * height * 4)
  105.     return self
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ●
  109.   #--------------------------------------------------------------------------
  110.   def address
  111.     # [[[bitmap.object_id * 2 + 16] + 8] + 16] == 数据的开头
  112.     buffer, ad = "xxxx", object_id * 2 + 16
  113.     RtlMoveMemory_pi.call(buffer, ad, 4)
  114.     ad = buffer.unpack("L")[0] + 8
  115.     RtlMoveMemory_pi.call(buffer, ad, 4)
  116.     ad = buffer.unpack("L")[0] + 16
  117.     RtlMoveMemory_pi.call(buffer, ad, 4)
  118.     return buffer.unpack("L")[0]
  119.   end
  120. end
复制代码

Lv2.观梦者

天仙

梦石
0
星屑
610
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

2
发表于 2008-12-4 08:39:02 | 只看该作者
长脚本請用HTML匡住,不然很占版面,谢谢
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

6r最強害蟲!

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-11-9
帖子
592
3
发表于 2008-12-7 03:28:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
1 小时
注册时间
2008-10-11
帖子
128
4
发表于 2008-12-7 04:43:57 | 只看该作者
不知道是什么........
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1045
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

5
发表于 2009-7-26 14:25:01 | 只看该作者
这叫“二维条码”吧?

我说,这个可以像MD5一样,验证游戏的完整性?或是给自己的游戏盖一戳子?

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-27 00:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表