|
surface lock以后就可以操作其中的数据
vb没有指针,只能用动态数组(另一种方法太慢)
lock以后,将所需图像资源放入一picturebox中
逐点读取每点颜色数,写入动态数组。
注意,要手动转换颜色,因为只能用类型为 byte的动态数组。
如rgb(255,255,255)
转换为 24bit 就是三个连续的 255
转换为16bit 5550 就是 。。。。。。。。。
转换为16bit 565 就是两个ff
(关于各种颜色数我将在后面提到)
在我的游戏源码中包含这类代码。
有一个专门把各类文件转换为特殊格式的工具,源码较短。
搜索 bmptopic 的文件。
最好是在初始化的时候做这些事!
无论怎么优化,都比直接取自bmp要慢
|
|