LoadImage()使用

LoadImage()使用

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

该系统被定义:

WINUSERAPI
HANDLE
WINAPI
LoadImageA(
    HINSTANCE,
    LPCSTR,
    UINT,
    int,
    int,
    UINT);
WINUSERAPI
HANDLE
WINAPI
LoadImageW(
    HINSTANCE,
    LPCWSTR,
    UINT,
    int,
    int,
    UINT);
#ifdef UNICODE
#define LoadImage  LoadImageW
#else
#define LoadImage  LoadImageA
#endif // !UNICODE

 參数分别表示:

    HINSTANCE———包括所须要图片的实例的句柄。
    LPCSTR————–图片所在路径及文件名称。
    UINT——————-图片类型。
    int———————–图片宽度。
    int———————–图片高度。
    UINT——————-load flags(备注:到如今还没有搞懂)

样例:

HBITMAP hbitmap;
hbitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),”图片/aa.bmp”,IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

 

应用别人的文章,文章是介绍该API函数在VB中的使用,VC中也能够借鉴:

【函数】
 LoadImage

【操作系统】
 Win9x:Y
 WinNT:Y

【声明】
 Function ulong LoadImage(ulong hInst,ref string lpsz,ulong un1,ulong n1,ulong n2,ulong un2) LIBRARY “user32.dll” ALIAS FOR “LoadImageA”

【说明】
 
  加载一个位图、图标或指针
    函数功能:该函数装载目标,光标,或位图。

    函数原型:HANDLE LoadImage(NINSTANCE hinst,LPCTSTR lpszName。UINT uType,int cxDesired。int CyDesired,UINT fuLoad);

    參数:

    hinst:处理包括被装载图像模块的特例。若要装载OEM图像,则设此參数值为O。

    lpszName:处理图像装载。

假设參数hinst为非空,并且參数fuLoad不包含LR_LOADFROMFILE的值时,那么參数lpszName是一个指向保留在hinst模块中装载的图像资源名称,并以NULL为结束符的字符串。

    假设參数hinst为空,而且LR_LOADFROMFILE被指定,那么这个參数低位字一定是被装载的OEM图像标识的。OEM图像标识符是在WINUSER.H头文件里定义的,以下列举出前缀的含义:

    OBM_ OEM:位图;OIC_OEM图标;OCR_OEM:光标。

    假设參数fuLoad包括LR_LOADFROMFILE值,那么參数lpszName是包括有图像的文件名称。

    uType:指定被装载图像类型。此參数能够为下列值,其含义例如以下:

    IMAGE_BITMAP:装载位图;IMAGE_CURSOR:装载光标。IMAGE_ICON:装载图标。

    cxDesired:指定图标或光标的宽度,以像素为单位。

假设此參数为零而且參数fuLoad值为LR_DEFAULTSIZE。那么函数使用SM_CXICON或SM_CXCURSOR系统公制值设定宽度;假设此參数为零而且值LR_DEFAULTSIZE没有被使用,那么函数使用眼下的资源宽度。

    cyDesired:指定图标或光标的高度,以像素为单位。假设此參数为零而且參数fuLoad值为LR_DEFAULTSIZE,那么函数使用SM_CXICON或SM_CXCURSOR系统公制值设定高度;假设此參数为零而且值LR_DEFAULTSIZE没有被使用,那么函数使用眼下的资源高度。

    fuLoad:依据以下复合值列表指定函数值,值含义例如以下:

    LR_DEFAULTCOLOR:缺省标志;它不作不论什么事情。它的含义是“无LR_MONOCHROME”。

    LR_CREATEDIBSECTION:当參数uType指定为IMAGE_BITMAP时,使得函数返回一个DIB部分位图,而不是一个兼容的位图。

这个标志在装载一个位图。而不是映射它的颜色到显示设备时很实用。

    LRDIFAULTSIZE:若 cxDesired或cyDesired未被设为零,使用系统指定的公制值标识光标或图标的宽和高。假设这个參数不被设置且cxDesired或cyDesired被设为零。函数使用实际资源尺寸。

假设资源包括多个图像。则使用第一个图像的大小。

    LR_LOADFROMFILE:根据參数lpszName的值装载图像。若标记未被给定。lpszName的值为资源名称。

    LW_LOADMAP3DCOLORS:查找图像的颜色表而且按以下对应的3D颜色表的灰度进行替换。

    颜色替代:Dk Gray RGB(128,128,128)COLOR_3DSHADOW。Gray RGB(192,192,192)COLOR_3DFACELt Gray RGB(223,223。223) COLOR_3DLIGHT LR_LOADTRANSPARENT;找到图像中的一个像素颜色值而且依据颜色表中系统的缺省颜色值替代其对应接口的值。图像中全部使用这样的接口的像素的颜色都变为系统的缺省窗口颜色。此至仅用来申请对应的颜色表。

    若fuLoad包含LR_LOADTRANSPARENT和LR_LOADMAP3DCOLORS两个值,则LRLOADTRANSPARENT优先。可是。颜色表接口由COLOR_3DFACE替代,而不是COLOR_WINDOW。

    LR_MONOCHROME:装载黑白图。

    LR_SHARED:若图像将被多次装载则共享。假设LR_SHARED未被设置。则再向同一个资源第二次调用这个图像是就会再装载以便这个图像且返回不同的句柄。

    不要对不同标准尺寸的图像使用LR_SHARED。装载后可能会有改变。或是从文件里被装载。

    Windows 95和Windows 98:函数依据缓存中被请求的资源名发现的第一个图像,无论被请求的大小。LR_VGACOLOR:使用VGA真彩色。

    返回值:假设函数执行成功,返回值是相关资源的数据的句柄。假设函数执行失败,返回值为NULL。若想获得很多其它的错误信息,请调用GetLastError函数。

    注意:当使用完资源后,必须通过调用函数以释放加速器表、位图、光标、图标以及菜单所占的内存资源;加速器表:DesteoyAcceleratorTable;位图:DeleteObject;光标:DestroyCursor。图标:Destroylcon。菜单:DestroyMenu

    当过程创建终止时。系统将自己主动删除这些资源。可是调用相关函数也能够保留内存降低过程的工作设置所占空间。

    Windows CE:对IMAGE_BITMAP来说,參数cxDesred和cyDesred p必须为零。Windows CE不支持图表跳跃或闪烁。

    參数fuLoad必须为(=LR_DEFAULTCOLOR)。

    假设的目标平台不支持鼠标光标,能够指定在參数cxDesred和cyDsired的SM_CXCURSOR和SM_CYCURSOR的值,但不能指定參数uType中IMAGE_CURSOR的值。

    假设目标平台支持鼠标光标,能够指定在參数cxDesired和cyDesred的SM_CXCURSOR和SM_CYCURSOR的值,也能指定參数uType中IMAGE_CURSOR的值。

    速查:Windows NT 3.1、Windows 95、Windows CE 1.0以上,头文件:minuser.h:库文件;user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本号。

【返回值】

  Long,运行成功则返回对象的一个句柄。零表示失败

【其他】
 

【參数列表】
  hInst ———-  Long。要从当中加载图象的DLL或应用程序模块或实例句柄。零表示装载一幅固有图象

  lpsz ———–  String,欲加载图象的名字。如指定了hInst,就用这个參数指定资源或资源的标志符(标志符是一个长整数)。如hInst为空。并且已指定了LR_LOADFROMFILE,那么这个參数代表文件名称(位图、图标或指针文件)。

假设是个Long型值,这个參数就代表固有位图、图标或指针的编号

  un1 ————  Long。下述常数之中的一个,指定了欲加载的图象类型:IMAGE_BITMAP。
  IMAGE_CURSOR, IMAGE_ICON

  n1,n2 ———-  Long,要求的图象宽度和高度。图象会依据情况自己主动伸缩。如设为零,表示用图象的默认大小

  un2 ————  Long,下述常数的随意组合,它们都在api32.txt文件里得到了定义:
  LR_DEFAULTCOLOR
  以常规方式加载图象
  LR_LOADREALSIZE
  不正确图象进行缩放处理。忽略n1和n2的设置
  LR_CREATEDIBSECTION
  假设指定了IMAGE_BITMAP,就返回DIBSection的句柄,而不是位图的句柄
  LR_DEFAULTSIZE
  假设n1和n2为零。就使用由系统定义的图象默认大小,而不是图象本身定义的大小
  LR_LOADFROMFILE
  如hInst为零,lpsz就代表要加载适当类型的一个文件的名字,仅适用于Win95
  LR_LOADMAP3DCOLORS
  将图象中的深灰、灰、以及浅灰像素都替换成COLOR_3DSHADOW,COLOR_3DFACE以及COLOR_3DLIGHT的当前设置
  LR_LOADTRANSPARENT
  通过像素在第一场比赛更换整个系统图像像素
  LR_MONOCHROME
  的图像转换成单色
  LR_SHARED
  加载图像作为共享资源。在NT 4.0这被设置为使用自然资源装

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117771.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法

    Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法前言:今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘钥,申请秘钥要用到SHA1值,所以今天就来总结一下怎样去获取这个值吧,希望对大家有帮助。 正常情况下:一、获取开发版SHA1:在此我直接用AndroidStudio提供的命令控制台了,毕竟做Android开发几乎都是用AndroidStudio了。1、打开androi…

  • 备忘录模式实例_iphone语音备忘录无法分享

    备忘录模式实例_iphone语音备忘录无法分享备忘录模式 Motivation动机模式定义实例结构要点总结笔记动机在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯对象之前处于某个点时的状态.如果使用一些共有接口来让其他对象得到对象的状态,便会暴露对象的实现细节.如何实现对象状态的良好保存与回复?但同时又不会因此而破坏对象的封装性模式定义在不破坏封装性的前提下.捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态实例朴素class Memento{ stri

  • 一比一还原axios源码(一)—— 发起第一个请求

    上一篇文章,我们简单介绍了XMLHttpRequest及其他可以发起AJAX请求的API,那部分大家有兴趣可以自己去扩展学习。另外,简单介绍了怎么去读以及我会怎么写这个系列的文章,那么下面就开始真正的

  • java字符串分割方法

    java字符串分割方法java分割字符串split()方法实现功能编写一个将字符串分段的类,传入:需分段的字符串与字符个数(以此个数进行分段),输出:按指定字符个数进行分段后的若干字符串(汉字算单个字符)。功能实现要求分析字符串传入字符串分段字符串输出实现思路Java是一个面向对象设计类语言,自身提供了很多方法帮助我们实现想要的功能。那么如何实现字符串传入功能?我们需要了解一个Java类—-Scanner类,这是一个用于扫描输入文本的新的实用程序。自Java5版本添加了java.util.Sc

  • 免费PDF翻译,不限页数,不限字数,保留排版

    免费PDF翻译,不限页数,不限字数,保留排版可以试试这个网站https://superdoctranslator.com/,使用百度的引擎,排版全部保留,不仅支持word和pptx,还支持图片PDF和扫描件,一个月白嫖少说也得600页PDF,用标准版appid连页数都不限制了,主要是排版效果几乎100%还原。…

  • 使用【百度云推送】第三方SDK实现推送功能具体解释

    使用【百度云推送】第三方SDK实现推送功能具体解释

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号