{"id":26768,"date":"2024-03-16T07:17:47","date_gmt":"2024-03-16T07:17:47","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/"},"modified":"2024-03-22T09:23:20","modified_gmt":"2024-03-22T09:23:20","slug":"parameters-and-usage-of-loadimage-in-windows-programming","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/","title":{"rendered":"Parameters and usage of LoadImage in Windows programming"},"content":{"rendered":"<p>The LoadImage function is a function in the Windows API used for loading image resources.<\/p>\n<p>The parameters and usage of the LoadImage function are as follows:<\/p>\n<ol>\n<li>hInst (HINSTANCE type): specifies the handle of the module containing image resources. Typically obtained by using GetModuleHandle(NULL) to get the handle of the current application.<\/li>\n<li>lpszName (of type LPCTSTR): specifies the name of the image resource. It can be an integer resource ID (such as MAKEINTRESOURCE(IDB_BITMAP1)), or a pointer to a string containing the resource name.<\/li>\n<li>uType (UINT type): Specifies the type of image resource. It can be one of the following values:<\/li>\n<li>Load bitmap (.bmp) files using IMAGE_BITMAP.<\/li>\n<li>IMAGE_ICON: Used to load icon (.ico) files.<\/li>\n<li>IMAGE_CURSOR: Used to load cursor (.cur) files.<\/li>\n<li>cxDesired (integer type): Specifies the desired width of the image after loading. If set to 0, the original image size will be loaded.<\/li>\n<li>Desired (integer type): Specifies the height of the image after loading. If set to 0, the original image size will be loaded.<\/li>\n<li>fuLoad (of UINT type): Specifies the way in which the image is loaded. It can be one of the following values:<\/li>\n<li>LR_DEFAULTCOLOR: Default color will be used.<\/li>\n<li>Specify the lpszName parameter as a file path instead of a resource name for LR_LOADFROMFILE.<\/li>\n<li>LR_LOADTRANSPARENT: Load transparent image.<\/li>\n<li>LR_SHARED means that the loaded image can be shared with other threads.<\/li>\n<li>LR_CREATEDIBSECTION: Create a DIB (Device-Independent Bitmap) section.<\/li>\n<li>Return value (of type HANDLE): If the loading is successful, an valid handle is returned; if loading fails, NULL is returned.<\/li>\n<\/ol>\n<p>After calling the LoadImage function, you can use the returned handle for subsequent operations, such as drawing on a device or setting as an image for a control.<\/p>\n<p>The example code is shown below:<\/p>\n<pre class=\"post-pre\"><code>HINSTANCE hInst = <span class=\"hljs-built_in\">GetModuleHandle<\/span>(<span class=\"hljs-literal\">NULL<\/span>);\r\nHBITMAP hBitmap = (HBITMAP)<span class=\"hljs-built_in\">LoadImage<\/span>(hInst, <span class=\"hljs-built_in\">MAKEINTRESOURCE<\/span>(IDB_BITMAP1), IMAGE_BITMAP, <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">0<\/span>, LR_DEFAULTCOLOR);\r\n<span class=\"hljs-keyword\">if<\/span> (hBitmap != <span class=\"hljs-literal\">NULL<\/span>)\r\n{\r\n    <span class=\"hljs-comment\">\/\/ \u5728\u8bbe\u5907\u4e0a\u7ed8\u5236\u56fe\u50cf<\/span>\r\n    HDC hdc = <span class=\"hljs-built_in\">GetDC<\/span>(hwnd);\r\n    HDC hdcMem = <span class=\"hljs-built_in\">CreateCompatibleDC<\/span>(hdc);\r\n    <span class=\"hljs-built_in\">SelectObject<\/span>(hdcMem, hBitmap);\r\n    <span class=\"hljs-built_in\">BitBlt<\/span>(hdc, <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">0<\/span>, cx, cy, hdcMem, <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">0<\/span>, SRCCOPY);\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u91ca\u653e\u8d44\u6e90<\/span>\r\n    <span class=\"hljs-built_in\">DeleteDC<\/span>(hdcMem);\r\n    <span class=\"hljs-built_in\">ReleaseDC<\/span>(hwnd, hdc);\r\n    <span class=\"hljs-built_in\">DeleteObject<\/span>(hBitmap);\r\n}\r\n<\/code><\/pre>\n<p>In the example code above, after loading the bitmap resource IDB_BITMAP1, it is drawn on the window device corresponding to the hwnd handle. After drawing is completed, it is necessary to release the relevant resources, including the device context (hdcMem and hdc) and the bitmap object (hBitmap).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The LoadImage function is a function in the Windows API used for loading image resources. The parameters and usage of the LoadImage function are as follows: hInst (HINSTANCE type): specifies the handle of the module containing image resources. Typically obtained by using GetModuleHandle(NULL) to get the handle of the current application. lpszName (of type LPCTSTR): [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-26768","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Parameters and usage of LoadImage in Windows programming - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Parameters and usage of LoadImage in Windows programming\" \/>\n<meta property=\"og:description\" content=\"The LoadImage function is a function in the Windows API used for loading image resources. The parameters and usage of the LoadImage function are as follows: hInst (HINSTANCE type): specifies the handle of the module containing image resources. Typically obtained by using GetModuleHandle(NULL) to get the handle of the current application. lpszName (of type LPCTSTR): [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T07:17:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T09:23:20+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Parameters and usage of LoadImage in Windows programming\",\"datePublished\":\"2024-03-16T07:17:47+00:00\",\"dateModified\":\"2024-03-22T09:23:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\"},\"wordCount\":349,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\",\"name\":\"Parameters and usage of LoadImage in Windows programming - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:17:47+00:00\",\"dateModified\":\"2024-03-22T09:23:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Parameters and usage of LoadImage in Windows programming\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Parameters and usage of LoadImage in Windows programming - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/","og_locale":"en_US","og_type":"article","og_title":"Parameters and usage of LoadImage in Windows programming","og_description":"The LoadImage function is a function in the Windows API used for loading image resources. The parameters and usage of the LoadImage function are as follows: hInst (HINSTANCE type): specifies the handle of the module containing image resources. Typically obtained by using GetModuleHandle(NULL) to get the handle of the current application. lpszName (of type LPCTSTR): [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:17:47+00:00","article_modified_time":"2024-03-22T09:23:20+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Parameters and usage of LoadImage in Windows programming","datePublished":"2024-03-16T07:17:47+00:00","dateModified":"2024-03-22T09:23:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/"},"wordCount":349,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/","url":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/","name":"Parameters and usage of LoadImage in Windows programming - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:17:47+00:00","dateModified":"2024-03-22T09:23:20+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/parameters-and-usage-of-loadimage-in-windows-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Parameters and usage of LoadImage in Windows programming"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=26768"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26768\/revisions"}],"predecessor-version":[{"id":60953,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26768\/revisions\/60953"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=26768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=26768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=26768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}