找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7042|回复: 7

【原创】马大哈系列功能模块----根据字节数组直接得到IPicture对象

  [复制链接]

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2009-5-26 03:48:31 | 显示全部楼层 |阅读模式
这个模块在使用资源文件的情况下比较方便,能直接使用文件而不需要释放出来.

同时资源文件中的二进制数据也可以是加密的,使用前再解密即可,这样也能增加一些安全性.

Lt8SCGBN.bas (2.36 KB, 下载次数: 19306)

以下是使用示例:
  1. private Sub Form_Load()
  2.     Dim I() As Byte
  3.    
  4.     Open "E:\M55.JPG" For Binary As #1     
  5.         ReDim I(LOF(1) - 1)                        '二进制方式载入文件
  6.         Get #1, , I
  7.     Close #1
  8.     Set Me.Picture = PictureFromBits(I())     
  9. End Sub
复制代码
我就是嗷嗷叫的老马了......

头像被屏蔽

0

主题

7

回帖

0

精华

初来乍到

积分
312
发表于 2009-8-14 14:59:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2009-8-26 01:53:53 | 显示全部楼层
<p>貌似没见到过直接转换的API.</p>
<p>&nbsp;</p>
<p>不过,可以通过绘制后再GetDibits的办法得到.</p>
我就是嗷嗷叫的老马了......

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2009-9-6 13:21:23 | 显示全部楼层
转到数值后怎么取bit呢?

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2009-9-6 13:35:45 | 显示全部楼层
怎么用<font face="Verdana">lrtn = GetDIBits(PictureFromBits(I()).CurDC, PictureFromBits(I()).Handle, 0&amp;, iHeight, bits(0, 0, 0), bi24BitInfo, 0&amp;)</font>

1

主题

8

回帖

0

精华

铜牌会员

积分
104
发表于 2010-2-8 08:24:30 | 显示全部楼层
马师傅,能给发个帖子,详细解释下么?

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2010-2-8 11:07:50 | 显示全部楼层
这个代码是比较简单的,所以我也没写说明.

总体过程:

一,根据传入的字节数组创建一个流对象;

二,使用OleLoadPicture函数通过流对象加载图象,并得到一个Picture对象.
我就是嗷嗷叫的老马了......

1

主题

2

回帖

0

精华

初来乍到

积分
26
发表于 2010-5-26 23:47:40 | 显示全部楼层
以前我印象中只能加载bmp,不能加载jpg……在VBGood没找到,来这里看看……
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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