找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 3130|回复: 0

【VB】字符表,可用于游戏绘制字符

[复制链接]

1110

主题

1651

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24221 个
贡献
46222 次
宅之契约
0 份
在线时间
2296 小时
注册时间
2014-1-26
发表于 2015-7-21 12:18:37 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
用VB写的,通过调用TextOut来绘制每一个字符。这个字符表可用于游戏的字符纹理(当然它可能有点大了,但是比较全)。
每256个字符一行,共256行,每个字符都是12x12的(半角字符是6x12的,自己判断全角半角。)另外,各种阿拉伯文的尺寸未知。主要是照顾中日韩用户。
也许还不如用freetype开源库呢。
20150721121352.png
创建一个窗口然后添加一个PictureBox,要求:
AutoRedraw = True
BorderStyle = 0
ScaleMode = 3
BackColor = &H80000005&

  1. Option Explicit
  2. Private Declare Function TextOut Lib "gdi32" Alias "TextOutW" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, lpString As Any, ByVal nCount As Long) As Long

  3. Private Sub Form_Load()
  4. Show
  5. picTable.Move 0, 0, 256 * 12, 256 * 12
  6. Dim I&, X&, Y&

  7. For Y = 0 To 255
  8.     For X = 0 To 255
  9.         TextOut picTable.hDC, X * 12, Y * 12, I, 2
  10.         I = I + 1
  11.     Next
  12. Next
  13. picTable.Refresh
  14. SavePicture picTable.Image, "Font.bmp"
  15. End Sub

  16. Private Sub picTable_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  17. Static DrX!, DrY!
  18. If Button And 1 Then
  19.     picTable.Move picTable.Left + X - DrX, picTable.Top + Y - DrY
  20. Else
  21.     DrX = X
  22.     DrY = Y
  23. End If
  24. End Sub
复制代码
生成的字符表如下:
Font.png
BIN: 字符表.exe (20 KB, 下载次数: 6)
SRC: 字符表.7z (4.39 KB, 下载次数: 18)

本帖被以下淘专辑推荐:

回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-19 08:28 , Processed in 0.046104 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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