亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

518抽獎軟件源碼之:GDI+上下左右中對齊

發布時間:2020-07-21 20:12:35 來源:網絡 閱讀:423 作者:wsg1212 欄目:編程語言

518抽獎軟件源碼之:GDI+上下左右中對齊

在開發“518抽獎軟件”的時候,需要用到GDI+的寫文字功能。 GDI+在對齊方面比原來的GDI復雜些,主要是 StringFormat 的參數設置和行高的測定問題,詳情參考下面的源碼。

GDIPLUS(gdi+)對齊處理的函數源碼


//單行文本,rc內對齊,align是水平對齊,valign是垂直對齊
//
void Tapp::paint_str(HDC hDc, const WCHAR* str, LOGFONT& lf, COLORREF color, RECT& rc, WORD align, WORD valign)
{
	if (!str) return;
	if (rc.right - rc.left <= 1 || rc.bottom - rc.top <= 1) return;

	StringFormat fmt;
	fmt.SetFormatFlags(StringFormatFlagsNoWrap | StringFormatFlagsNoClip | StringFormatFlagsMeasureTrailingSpaces);

	if (align == ALIGN_NEAR) fmt.SetAlignment(StringAlignmentNear);
	else if (align == ALIGN_CENTER) fmt.SetAlignment(StringAlignmentCenter);
	else fmt.SetAlignment(StringAlignmentFar);
	fmt.SetLineAlignment(StringAlignmentNear);

	RectF rcF;
	rcF.X = rc.left;
	rcF.Y = rc.top;
	rcF.Width = rc.right - rc.left;
	rcF.Height = rc.bottom - rc.top;

	FontFamily ff(lf.lfFaceName);
	Font gfont(hDc, &lf);
	SolidBrush  bru(Color(GetRValue(color), GetGValue(color), GetBValue(color)));
	Graphics g(hDc);

	int style = FontStyleRegular;
	if (lf.lfItalic) style = FontStyleItalic;
	if (lf.lfWeight == FW_BOLD) style = FontStyleBold;
	if (lf.lfItalic && lf.lfWeight == FW_BOLD) style = FontStyleBoldItalic;
	double r = (double)(ff.GetCellAscent(style) + ff.GetCellDescent(style)) / (double)ff.GetLineSpacing(style);

	if (align == ALIGN_NEAR) rcF.Width += 500.0;
	else if (align == ALIGN_FAR) { rcF.X -= 500.0; rcF.Width += 500.0; }
	else { rcF.X -= 500.0; rcF.Width += 1000.0; }

	if (valign == ALIGN_NEAR) rcF.Height += 500.0;
	else if (valign == ALIGN_CENTER) {
		rcF.Y -= 500.0;
		rcF.Height += 1000.0;
		rcF.Y += ((rcF.Height - gfont.GetHeight(&g)*r) / 2.0);
	}
	else {
		rcF.Y -= 500.0;
		rcF.Height += 500.0;
		rcF.Y += (rcF.Height - gfont.GetHeight(&g)*r);
	}

	SetTextRenderingHint(TextRenderingHintAntiAlias);
	g.DrawString(str, -1, &gfont, rcF, &fmt, &bru);
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嫩江县| 循化| 柞水县| 壤塘县| 白沙| 都安| 温宿县| 榆中县| 罗江县| 宜宾县| 弥渡县| 衡山县| 即墨市| 高平市| 扎囊县| 张家界市| 什邡市| 始兴县| 沙田区| 龙陵县| 宝清县| 夹江县| 彰化市| 曲沃县| 古丈县| 晴隆县| 岑巩县| 吴川市| 修文县| 罗定市| 万年县| 庆云县| 菏泽市| 休宁县| 清徐县| 银川市| 资中县| 荣成市| 大宁县| 轮台县| 东山县|