我在API中有一個函數我正在使用該請求一個BITMAPINFO指針。我想給這個功能一個圖像。我的圖像是JPG/PNG。假設我將它們轉換爲BMP文件,但我仍然無法知道如何設置此結構。有沒有我可以使用它的Windows API?從Windows C++中的JPG/PNG文件創建一個BITMAPINFO
1
A
回答
3
您可以使用GDI +。使用Gdiplus::Bitmap :: FROMFILE
讀BMP/JPG/PNG/GIF加載和Gdiplus::Bitmap :: GetHBITMAP訪問HBITMAP然後BITMAPINFO
2
快速谷歌打開這個MSDN文章:Sizing a JPEG or PNG Image顯示填充JPEG文件的BITMAPINFO的一種方式(將爲PNG工作)。
使用該頁面左側的鏈接可獲取有關位圖API的更多信息。
+0
請注意,此格式的「BITMAPINFO」可能不適用於「StretchDIBits」以外的函數。 – 2011-04-17 15:38:01
0
PNG文件,潛在的,alpha通道/透明度信息 - 轉換成時丟失位圖。你需要BITMAPINFO的函數實際上做了什麼?
如果您的方法是將文件轉換爲位圖;不要在運行時這樣做。 使用繪圖程序將文件轉換爲bmp。如前所述,您可以使用GDI +來使用幾種不同的本機格式; 但這樣做可能需要將您現有的GDI調用轉換爲GDI +。
相關問題
- 1. 如何從Windows中的文件夾創建一個jar文件?
- 2. 從另一個文件中的文件名創建文件C++
- 3. 在userfiles文件夾(C#,Windows窗體)中創建一個文件
- 4. 從C++源文件創建Windows DLL
- 5. 在Windows C#中創建文件夾#
- 6. 在c中創建一個文件和一個文件夾#
- 7. 從java中的一個文本文件創建多個文件
- 8. 從C#中的XML文件創建一個括號樹
- 9. 從python文件中創建一個deb
- 10. windows c:無法創建文件的mmap
- 11. 從一個文件夾創建zip文件 - 在c + +
- 12. 尋找路徑和C#Windows會自動創建一個文件
- 13. 從C中的不同文本文件創建一個數組數組C
- 14. 從C中的CSV文件創建JSON
- 15. 在C中創建一個文件夾的Zip文件夾#
- 16. 創建一個從文本文件
- 17. 創建一個從文本文件
- 18. 創建一個.bat文件
- 19. 創建Windows文件夾,然後從它寫入一個文件從Unix
- 20. 從C#WinForms應用程序在Windows 7中創建文件
- 21. 創建一個windows服務,每小時從azure下載文件
- 22. 用C++創建一個只讀文件
- 23. 創建一個文件URI在C#
- 24. 在Windows上創建C文件夾
- 25. 創建一個Objective-C文件創建事件流
- 26. 如何從我創建的文件(.cs文件)創建一個exe文件?
- 27. Rebol 2有一個在Windows 8中創建文件的錯誤
- 28. 從文本文件中讀取,創建另一個文件
- 29. 是否可以創建一個C#Windows服務來檢測Windows XP上的新文件創建?
- 30. 豬 - 創建一個從平面文件
這將使用** GDI + **,而不是GDI。 – 2011-04-17 15:24:28
'HBITMAP'和'BITMAPINFO'之間的鏈接並不明顯。 ['GetObject'](http://msdn.microsoft.com/en-us/library/dd144904.aspx)函數將根據「HBITMAP」填充「DIBSECTION」結構,而「DIBSECTION」使用相同的'BITMAPINFOHEADER'子結構爲'BITMAPINFO'。 – 2011-04-17 15:37:16