当前位置: 首页 > news >正文

直接显示二进制图片

Option Explicit
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
Private Declare Function CreateStreamOnHGlobal Lib “ole32.dll” (ByRef hGlobal As Any, ByVal fDeleteOnResume As Long, ByRef ppstr As Any) As Long
Private Declare Function OleLoadPicture Lib “olepro32.dll” (ByVal lpStream As IUnknown, ByVal lSize As Long, ByVal fRunMode As Long, ByRef riid As GUID, ByRef lplpObj As Any) As Long
Private Declare Function CLSIDFromString Lib “ole32.dll” (ByVal lpsz As Long, ByRef pclsid As GUID) As Long

’ HKEY_CLASSES_ROOT/Interface/{7BF80980-BF32-101A-8BBB-00AA00300CAB} = IPicture
Private Const SIPICTURE As String = “{7BF80980-BF32-101A-8BBB-00AA00300CAB}”
Private Mstream As Object '二进制转换对象
Private Const adTypeBinary = 1 '二进制模式
Dim B() As Byte

Private Sub Form_Load()
Set Mstream = CreateObject(“ADODB.Stream”)
With Mstream
.Open '打开"ADODB.Stream"对象
.Type = adTypeBinary '二进制模式
.LoadFromFile App.Path & “\1.jpg” '图片路径
End With
B = Mstream.Read '将转好的二进制图片赋予BYTE值
Mstream.Close '关闭Mstream对象
End Sub

’ 将字节数组转换为IPicture
Public Function PictureFromRes(ByRef B() As Byte) As IPicture
On Error GoTo Errorhandler
Dim istrm As IUnknown
Dim tGUID As GUID
If Not CreateStreamOnHGlobal(B(LBound(B)), False, istrm) Then
CLSIDFromString StrPtr(SIPICTURE), tGUID
OleLoadPicture istrm, UBound(B) - LBound(B) + 1, False, tGUID, PictureFromRes
End If
Set istrm = Nothing
Exit Function
Errorhandler:
MsgBox “无法转换为IPicture!”
End Function

Private Sub Command1_Click()
Set Me.Picture = PictureFromRes(B)
End Sub

相关文章:

直接显示二进制图片

Option Explicit Private Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As Byte End Type Private Declare Function CreateStreamOnHGlobal Lib “ole32.dll” (ByRef hGlobal As Any, ByVal fDeleteOnResume As Long, ByRef ppstr As Any) As Long P…...

微软exchange邮箱发送

使用java发送exchange类型的邮件&#xff0c;foxmail中配置如下图&#xff1a; 需要的maven依赖如下&#xff1a; <dependency><groupId>com.microsoft.ews-java-api</groupId><artifactId>ews-java-api</artifactId><version>2.0</ve…...

AI绘画Stable Diffusion SDXL 超赞!高质量万能大模型,写实人像、时尚设计、建筑设计、电影制作—筑梦工业XLV4.0

大家好&#xff0c;我是阿威 今天为大家带来了一款多功能大模型——Dream Tech XL | 筑梦工业XL V4.0。该模型是大佬Dr_Dream基于V3.0训练而来的迭代版本&#xff0c;在提升画面质感的同时&#xff0c;对于提示词理解能力有跨越式提升&#xff0c;可以做到100%还原提示词。筑梦…...

数字人捕捉、建模与合成

在感知系统中&#xff0c;我们与外部合作者一起创建逼真的 3D 人类&#xff0c;其行为可以像虚拟世界中的真实人类一样。这项工作在今天有许多实际应用&#xff0c;并且对于元宇宙的未来至关重要。但是&#xff0c;在感知系统中&#xff0c;我们的目标是科学的——通过重现人类…...

Yarn:下一代JavaScript包管理器的安装与实战指南

当然&#xff0c;让我们深入探讨Yarn——一个高效、可靠的JavaScript包管理器&#xff0c;它为前端开发带来了新的速度和便利。Yarn由Facebook、Google、Exponent和Tilde公司共同推出&#xff0c;旨在解决npm&#xff08;Node.js包管理器&#xff09;存在的问题&#xff0c;如依…...

JVM进程缓存 Caffeine

JVM进程缓存 Caffeine 初识Caffeine Caffeine是一个基于Java8开发的&#xff0c;提供了近乎最佳命中率的高性能的本地缓存库。 ben-manes/caffeine: A high performance caching library for Java (github.com) 实例代码 Test void testBasicOps() {// 创建缓存对象Cache&…...

c++ 线程交叉场景试验

1.需求 处理一个列表的数据&#xff0c;要求按照列表的数据处理10个数据可以使用多线程处理&#xff0c;但是针对每个线程&#xff0c;1~10的处理顺序不能变。每个数据的处理必须原子&#xff0c;即只有一个线程可以针对某个数据进行处理&#xff0c;但是10个数据是可以由10个…...

Cell:如何升华你的单细胞数据——PCF空间单细胞蛋白组联合scRNA-seq解析骨髓微环境

骨髓微环境非常复杂&#xff0c;含有不同的细胞类型&#xff0c;包括了造血、间充质、内皮、血管平滑肌和神经谱系细胞等。非造血细胞对于骨髓造血非常关键。然而&#xff0c;这些细胞在人骨髓中的异质性和空间定位在很大程度上仍未被表征。来自佩雷尔曼医学院的研究者使用scRN…...

vue强制刷新组件

在Vue中强制刷新一个组件&#xff0c;通常不是一个推荐的做法&#xff0c;因为Vue的响应式系统设计就是为了自动处理依赖的更新。要强制重新渲染组件&#xff0c;以下是几种方法&#xff1a; 使用key属性&#xff1a; 最常见的方法是改变组件的key属性。当key发生变化时&#x…...

分享5款对工作学习有帮助的效率软件

​ 今天再来推荐5个超级好用的效率软件&#xff0c;无论是对你的学习还是办公都能有所帮助&#xff0c;每个都堪称神器中的神器&#xff0c;用完后觉得不好用你找我。 1.文件复制——ClipClip ​ ClipClip是一款功能强大、操作简便的文件复制与管理软件。它改变了传统的复制粘…...

redis秒杀(PHP版本)

前提提要 今天产品端提了个需求&#xff0c;院校组要求借调我去帮忙&#xff0c;因为我以前做过商城&#xff0c;现在他们需求做一个积分商城&#xff0c;需要做一个秒杀模块&#xff0c;结果毫无意外的我被借调过去了&#xff0c;刚好可以复习一下以前的知识&#xff0c;现在介…...

图形用户界面(GUI)在AI去衣技术中的作用与重要性

引言&#xff1a; 随着人工智能技术的不断进步&#xff0c;AI去衣这一概念逐渐进入公众视野。它指的是利用深度学习算法&#xff0c;从图片或视频中自动移除人物的衣物&#xff0c;生成相应的“裸体”图像。尽管这项技术在道德和隐私方面引发了诸多争议&#xff0c;但其背后的技…...

如何阅读:一个已被证实的低投入高回报的学习方法的笔记

系列文章目录 如何有效阅读一本书笔记 如何阅读&#xff1a;一个已被证实的低投入高回报的学习方法 麦肯锡精英高效阅读法笔记 读懂一本书笔记 文章目录 系列文章目录第一章 扫清阅读障碍破解读不快、读不进去的谜题一切为了阅读小学教师让你做&#xff0c;但中学老师阻止你做的…...

pycharm 安装“通义灵码“并测试

过程&#xff1a;“File>setting>Plugins” 提示&#xff1a; 翻译之后&#xff1a; 点击"接受"之后&#xff0c;提示一下图片&#xff0c;点击ok 安装完成&#xff1a; 安装完"通义灵码"之后&#xff0c;需要登陆&#xff0c;登陆后测试 参考…...

React 之 useMemo Hook (九)

useMemo 是 React 的一个Hook&#xff0c;它允许你“记住”一些计算值&#xff0c;只有在依赖项之一发生变化时才会重新计算这些值。这有助于避免不必要的重新计算和渲染&#xff0c;从而提高应用程序的性能。 代码栗子&#xff08;计算一个斐波那契数列的值&#xff09;&#…...

短视频矩阵系统源码saas开发--可视化剪辑、矩阵托管、多功能合一开发

短视频矩阵系统源码saas开发&#xff08;可视化剪辑、矩阵托管、智能私信聚合、线索转化、数据看板、seo关键词、子账号等多个板块开发&#xff09; 短视频矩阵系统是一种集成了多种功能的系统&#xff0c;旨在帮助用户在短视频平台上进行高效的内容创作、管理和发布。根据您提…...

百度大模型文心一言api 请求错误码 一览表

错误码说明 千帆大模型平台API包含两类&#xff0c;分别为大模型能力API和大模型平台管控API&#xff0c;具体细分如下&#xff1a; 大模型能力API 对话Chat续写Completions向量Embeddings图像Images 大模型平台管控API 模型管理Prompt工程服务管理模型精调数据管理TPM&RP…...

Unity调用智谱API(简单操作 文本实时翻译)

代码展示&#xff1a; using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI;public class ZhiPuAi : MonoBehaviour {// API的端点URLpublic string…...

Android 开机启动扫描SD卡apk流程源码分析

在开机的时候&#xff0c;装在SD卡的apk和装在系统盘的apk扫描过程不一样&#xff0c;系统盘apk在系统启动过程中扫描&#xff0c;而SD卡上的就不是&#xff0c;等系统启动好了才挂载、扫描&#xff0c;下面就说下SD扫描的流程&#xff1a; 在SystemServer启动MountService&am…...

如何恢复回收站中被删除的文件?3个恢复策略,实测有用!

“刚刚一不小心把回收站清空了&#xff0c;大家有什么好用的方法可以帮我恢复回收站中删除的文件吗&#xff1f;快帮帮我吧&#xff01;” 在使用电脑的过程中&#xff0c;我们有时可能会不小心将重要的文件或文件夹删除到回收站&#xff0c;并且随后可能进一步从回收站中彻底删…...

光谱分析避坑指南:为什么你的多项式拟合基线校正总是不准?

光谱分析避坑指南&#xff1a;为什么你的多项式拟合基线校正总是不准&#xff1f; 拉曼光谱和红外光谱分析中&#xff0c;基线漂移是困扰研究人员的常见问题。就像摄影师需要先调平三脚架才能拍出清晰照片一样&#xff0c;准确的光谱基线校正是后续定量分析的基石。然而在实际操…...

顶伯在线语音工具背后的技术力量:AI语音合成与深度学习解析

顶伯在线语音工具背后的技术力量在人工智能浪潮中&#xff0c;语音交互正成为人机沟通的核心方式。顶伯作为行业领先的在线语音工具&#xff0c;凭借自主研发的深度学习架构&#xff0c;将文字转化为高度自然的语音&#xff0c;广泛应用于有声阅读、智能客服、教育辅助等领域。…...

如何通过编译优化与隐私增强实现浏览器性能飞跃:Thorium项目技术深度解析

如何通过编译优化与隐私增强实现浏览器性能飞跃&#xff1a;Thorium项目技术深度解析 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towa…...

IDEA里Git冲突别慌!手把手教你用Rebase和Merge搞定,附代码消失急救指南

IDEA中Git冲突与代码消失的终极解决方案&#xff1a;Rebase与Merge实战指南 在团队协作开发中&#xff0c;Git冲突如同程序员日常的"必修课"&#xff0c;而IDEA作为Java开发者最信赖的IDE&#xff0c;其内置的Git工具链却常被低估。当你在深夜赶进度时突然遭遇冲突警…...

C语言变量与运算符详解:从内存管理到高效编程实践

1. 从零到一&#xff1a;为什么C语言是程序员的“内功心法”&#xff1f;如果你刚看完系列的第一篇&#xff0c;对C语言有了一个模糊的印象&#xff0c;觉得它古老、复杂&#xff0c;甚至有点“过时”&#xff0c;那太正常了。我刚开始接触编程时&#xff0c;也这么想。为什么放…...

从LCD屏幕到车载摄像头:聊聊LVDS接口在你身边那些‘看不见’的应用

从LCD屏幕到车载摄像头&#xff1a;聊聊LVDS接口在你身边那些‘看不见’的应用 走在科技产品琳琅满目的商场里&#xff0c;你可能不会注意到&#xff0c;那些让你眼前一亮的4K显示屏、流畅的触控体验&#xff0c;甚至自动驾驶汽车里的"眼睛"&#xff0c;背后都藏着一…...

Lenovo Legion Toolkit 维护版继续升级

Lenovo Legion Toolkit 维护版在继续更新。 项目地址&#xff1a;https://github.com/SSC-STUDIO/LenovoLegionToolkit 下载地址&#xff1a;https://github.com/SSC-STUDIO/LenovoLegionToolkit/releases/latest 这个版本面向 Windows 上的 Legion / IdeaPad Gaming / LOQ …...

从OpenMV2到4代,我踩过的那些坑:画面变绿、传感器接触不良与内存擦除的避坑实录

从OpenMV2到4代&#xff1a;硬件升级中的稳定性挑战与实战解决方案 作为一名长期使用OpenMV系列开发视觉项目的工程师&#xff0c;我从OpenMV2一路升级到4代&#xff0c;见证了硬件性能的飞跃&#xff0c;也深刻体会到稳定性问题带来的困扰。其中最令人头疼的莫过于"画面变…...

告别复制粘贴!用Automa浏览器插件把网页数据自动存进MySQL数据库(保姆级图文教程)

告别复制粘贴&#xff01;用Automa浏览器插件实现网页数据自动入库全攻略 每天重复从网页复制数据到Excel再导入数据库&#xff1f;运营周报、竞品监控、市场分析等场景下&#xff0c;这种低效操作正在吞噬职场人的宝贵时间。本文将带你用Automa这款可视化自动化工具&#xff0…...

打破iOS修改壁垒:H5GG技术架构与实战路径全解析

打破iOS修改壁垒&#xff1a;H5GG技术架构与实战路径全解析 【免费下载链接】H5GG an iOS Mod Engine with JavaScript APIs & Html5 UI 项目地址: https://gitcode.com/gh_mirrors/h5/H5GG 在iOS生态中&#xff0c;游戏与应用修改一直被视为技术门槛较高的领域&…...