马大哈 发表于 2009-5-26 03:48:31

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

这个模块在使用资源文件的情况下比较方便,能直接使用文件而不需要释放出来.

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



以下是使用示例:private Sub Form_Load()
    Dim I() As Byte
   
    Open "E:\M55.JPG" For Binary As #1   
      ReDim I(LOF(1) - 1)                        '二进制方式载入文件
      Get #1, , I
    Close #1
    Set Me.Picture = PictureFromBits(I())   
End Sub

snyga 发表于 2009-8-14 14:59:57

马大哈 发表于 2009-8-26 01:53:53

<p>貌似没见到过直接转换的API.</p>
<p>&nbsp;</p>
<p>不过,可以通过绘制后再GetDibits的办法得到.</p>

everyone 发表于 2009-9-6 13:21:23

转到数值后怎么取bit呢?

everyone 发表于 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>

szysslszy 发表于 2010-2-8 08:24:30

马师傅,能给发个帖子,详细解释下么?

马大哈 发表于 2010-2-8 11:07:50

这个代码是比较简单的,所以我也没写说明.

总体过程:

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

二,使用OleLoadPicture函数通过流对象加载图象,并得到一个Picture对象.

acme_pjz 发表于 2010-5-26 23:47:40

以前我印象中只能加载bmp,不能加载jpg……在VBGood没找到,来这里看看:lol……
页: [1]
查看完整版本: 【原创】马大哈系列功能模块----根据字节数组直接得到IPicture对象