Опитвам се да използвам CreateDIBSection
.
проблем:
В Windows XP се опитах да извикам CreateDIBSection
, той връща NULL
и GetLastError
= 0
Когато се опитам да променя разделителната способност на екрана, например на 2048 x 1536, тя връща правилната стойност.
Тествах тази функция да има някаква връзка с nMemSize
(не непременно малък брой).
Въпрос:
Има ли някакъв гаранционен начин да се гарантира, че CreateDIBSection
връща правилната стойност?
nScreenWidth = 1024;
nScreenHeight= 768;
= nScreenWidth*nScreenHeight*3*7
HDC hdc = ::GetDC(hWnd);
m_hBmpMapFile = ::CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, nMemSize, NULL);
BITMAPINFO bmpInfo = {0};
bmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmpInfo.bmiHeader.biWidth = nScreenWidth;
bmpInfo.bmiHeader.biHeight = nScreenHeight;
bmpInfo.bmiHeader.biPlanes = 1;
bmpInfo.bmiHeader.biBitCount = 24;
bmpInfo.bmiHeader.biCompression = 0;
bmpInfo.bmiHeader.biSizeImage = nMemSize;
bmpInfo.bmiHeader.biXPelsPerMeter = 0;
bmpInfo.bmiHeader.biYPelsPerMeter = 0;
bmpInfo.bmiHeader.biClrUsed = 0;
bmpInfo.bmiHeader.biClrImportant = 0;
bmpInfo.bmiColors[0].rgbBlue = 204;
bmpInfo.bmiColors[0].rgbGreen = 204;
bmpInfo.bmiColors[0].rgbRed = 204;
bmpInfo.bmiColors[0].rgbReserved = 0;
PVOID pvBits;
m_hBmpAllWstDskWallpaper = ::CreateDIBSection(hdc, &bmpInfo, DIB_RGB_COLORS, &pvBits, m_hBmpMapFile, 0);
bmpinfo.bmiHeader
. Какви ценности им приписвате? - person Nawaz   schedule 18.01.2011* 7
в уравнениетоnMemSize
? - person detunized   schedule 18.01.2011*3
за RGB байтове,*7
е за 7 пъти размера на екрана. правя голям хоризонтален панорамен екран. - person yyy   schedule 18.01.2011Показвам bg от моето приложение с помощта на
UIImageView
. За да поддържам правилното завъртане на интерфейса, пишаlayoutSubviews
метод. В този метод свойството .frame се променя правилно, но когато се опитам да променя изображението наUIImageView
точно така:Нищо не се промени. Направих ли нещо нередно или е невъзможно да променя изображението на
- person MW_dev   schedule 18.01.2011UIImageView
в методаlayoutSubviews
?nScreenWidth
винаги ли се дели равномерно на 4? - person Mark Ransom   schedule 20.02.2012