{I+=codeWee;}
[C++] Write Text On Byte Array by using HDC
HBITMAP CreateHBITMAPfromByteArray(HDC hdc, int nImageWidth, int nImageHeight, BYTE* pImageData)
{
	BITMAPINFOHEADER   bmih;
	memset(&bmih, 0, sizeof(BITMAPINFOHEADER));

	bmih.biWidth = nImageWidth;
	bmih.biHeight = nImageHeight;
	bmih.biBitCount = 32;
	bmih.biCompression = BI_RGB;
	bmih.biSize = sizeof(BITMAPINFOHEADER);
	bmih.biPlanes = 1;

	BITMAPINFO* bmi = (BITMAPINFO*)&bmih;

	return CreateDIBitmap(hdc, &bmih, CBM_INIT, pImageData, bmi, DIB_RGB_COLORS);

}


void WriteTextOnByteArray(int nImageWidth, int nImageHeight, int x, int y, BYTE* pImageData, HFONT hFont, const wchar_t* szText, COLORREF backColor, COLORREF textColor)
{
	HDC hdc = GetDC(NULL);
	HDC memDC = CreateCompatibleDC(hdc);
	//HBITMAP	hBmp = CreateCompatibleBitmap(hdc, m_nImageWidth, m_nImageHeight);
	HBITMAP hBmp = CreateHBITMAPfromByteArray(hdc, nImageWidth, nImageHeight, pImageData);

	HGDIOBJ oldBMP = SelectObject(memDC, hBmp);
	HGDIOBJ oldFont = SelectObject(memDC, hFont);
	SetBkMode(memDC, TRANSPARENT);
	SetTextColor(memDC, textColor);
	RECT rect;
	rect.left = 0;
	rect.right = nImageWidth;
	rect.top = 0;
	rect.bottom = nImageHeight;
	HBRUSH hBrush = CreateSolidBrush(backColor);
	FillRect(memDC, &rect, hBrush);
	TextOutW(memDC, x, y, szText, wcslen(szText));
	SelectObject(memDC, oldBMP);
	SelectObject(memDC, oldFont);

	BITMAPINFO bmpInfo;
	memset(&bmpInfo, 0, sizeof(BITMAPINFOHEADER));
	bmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
	GetDIBits(memDC, hBmp, 0, 0, NULL, &bmpInfo, DIB_RGB_COLORS);
	bmpInfo.bmiHeader.biBitCount = 32;
	bmpInfo.bmiHeader.biCompression = BI_RGB;
	GetDIBits(memDC, hBmp, 0, bmpInfo.bmiHeader.biHeight, pImageData, &bmpInfo, DIB_RGB_COLORS);

	
	DeleteObject(hBmp);
	DeleteObject(hBrush);
	DeleteDC(memDC);
	ReleaseDC(NULL, hdc);

}
HTML | PHP | C++ | DirectX11 | Javascript | C# | HTML5 | ASP | SQL | General | CSS | Oculus Rift | Unity3d | Virtools SDK | Tip | NSIS | PowerShell | node.js | Web API | RTSP | All
Copyright© 2016 CodeWee.com All rights reserved.