gpt4 book ai didi

c++ - CreateBitmap() 返回颠倒的图像

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:51 24 4
gpt4 key购买 nike

我加载我保存的位图的位数组。 (和 BITMAPINFOHEADER 结构)。

HBITMAP Filemanager::LoadNextImageFromMyFile(HANDLE file)
{
HDC hdc = GetDC(father->hWindow->_hwnd);
DWORD dwTmp;
BITMAPFILEHEADER hdr;
ReadFile(file,&hdr,sizeof(BITMAPFILEHEADER),&dwTmp,NULL);
BITMAPINFOHEADER pbih;
ReadFile(file, &pbih,sizeof(BITMAPINFOHEADER)
+ hdr.bfReserved1 * sizeof (RGBQUAD),&dwTmp,NULL);
LPBYTE lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih.biSizeImage);
BYTE* hp = lpBits;
ReadFile(file,hp,pbih.biSizeImage, &dwTmp, NULL);
return CreateBitmap(pbih.biWidth,pbih.biHeight,pbih.biPlanes,pbih.biBitCount, hp);;
}

我得到颠倒的图像。我该如何解决? (我认为反转 bitsArray 将是一个解决方案,但也许有更好的方法?)

最佳答案

调用 CreateDIBitmap 并在 BITMAPV5HEADER 中使用正高度或负高度以使位图正确向上。 – David Heffernan 37 分钟前

关于c++ - CreateBitmap() 返回颠倒的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19870141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com