L_EfxDrawRotated3dText

# include“l_bitmap.h”

L_LTEFX_APIL_INTL_EfxDrawRotated3dText(hDC, pszText, pRect, nAngle, uFlags, nXDepth, nYDepth, crText, crShadow, crHilite, hFont, hdcFore)

使用指定的字体、颜色和样式绘制按指定数量旋转到目标设备上下文中的三维文本。

参数

HDChDC

目标设备上下文的句柄。

L_TCHAR*通知

文本字符串。

矩形* pRect

指向显示目标矩形的指针。

L_INTnAngle

文字角度,以十分之一度为单位。

L_UINTuFlags

文本样式。使用此参数控制三维文本的样式和正当性。有关有效值,请参阅效果文本样式标志文本对齐标志

L_INTnXDepth

水平阴影位置。

L_INTnYDepth

垂直的阴影位置。

也就是说crText

指定文本颜色的COLORREF值。

也就是说crShadow

指定阴影颜色的COLORREF值。

也就是说crHilite

指定边框颜色的COLORREF值。

HFONT HFONT

所选字体的句柄。字体必须为TrueType才能旋转。

HDChdcFore

前台源设备上下文的句柄。使用此参数可将图像(如渐变)放置在三维文本的表面上。中指定的颜色使用NULLcrText

返回

价值 意义
成功 函数成功。
< 1 一个错误发生。指返回代码

评论

字体必须为TrueType才能旋转。旋转点从(X, 0)开始计算。

阴影只适用于以下情况uFlags价值观:

crShadowcolor用于以下uFlags值的三维效果:

crHilitecolor仅用于以下uFlags值:

有关一般信息,请参阅实现特殊效果

所需的dll和库

平台

Windows 2000 / XP/Vista。

另请参阅

功能

主题

例子

这个例子展示了使用L_EfxDrawRotated3dText的最低要求。

L_INT EfxDrawRotated3dTextExample(HWND HWND, RECT* pDest)L_INT nRet;HDC HDC;/ *设备上下文当前窗口*/hSavedPalette = NULL;/*当前系统调色板的临时副本*/HPALETTE hOurPalette = NULL;/*我们将用来绘制*/的调色板L_INT nBitsPerPixel;HFONT HFONT;/*使用的字体文本,必须是TrueType */HDC hdcMem;/ * HDC前景图像* /HBITMAP hbmMem;/ *位图前景图像* /矩形rcbm;/*获取设备上下文*/hdc = GetDC (hWnd);/*创建渐变3D文本的前景*/rcbm。前= pd - >前;rcbm。左= pd - >左;rcbm。= pd - >底;rcbm。右= pd - >;OffsetRect (&rcbm -pDest - >左,-pDest - >高级);hdcMem = CreateCompatibleDC (hdc);hbmMem = CreateCompatibleBitmap(hdc, rcbm. hbmMem)对,rcbm.bottom);hbmMem = (HBITMAP) select tobject (hdcMem, hbmMem);/*放置渐变3D文本的前景*/nRet = L_EfxGradientFillRect (hdcMem,&rcbm,EFX_GRADIENT_LINE_L_TO_R,RGB (255, 0, 0),RGB (0, 0, 255),16);如果(nRet ! =成功)返回nRet;/*创建字体*/hFont = CreateFont(-MulDiv(32, GetDeviceCaps(hdc, LOGPIXELSY), 72),0, 0, 0,Fw_bold, false, false, false,DEFAULT_CHARSET OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,文本(“天线”));/*检查设备查看如果我们需要一个调色板nBitsPerPixel = GetDeviceCaps(hdc, BITSPIXEL) * GetDeviceCaps(hdc, PLANES);如果(nBitsPerPixel <=8)hOurPalette = (HPALETTE)GetStockObject (DEFAULT_PALETTE);hSavedPalette = SelectPalette (hdc, hOurPalette, FALSE);/*实现调色板*/RealizePalette (hdc);/*绘制旋转的3D文本*/nRet = L_EfxDrawRotated3dText(hdc, /*设备上下文*/文本(旋转3D文本- LEADTOOLS),/*目标矩形*/300、/*旋转30度*// *风格标志3 d文字* /Efx_text_dropshadow |, efx_text_hcenter |,2、/*水平阴影位置*/2、/*垂直阴影位置*/RGB(0,0,255), /*文本颜色,蓝色*/RGB(0,0,0), /*阴影颜色,黑色*/RGB(255,255,255), /*边框颜色,白色*/hFont,hdcMem);/ *使用放一张图片字体* /如果(nRet ! =成功)返回nRet;/*恢复旧的调色板*/如果(hOurPalette)select (hdc, hSavedPalette, FALSE);/*释放设备上下文*/ReleaseDC (hWnd, hdc);DeleteObject (hFont);DeleteObject (SelectObject (hdcMem hbmMem));DeleteDC (hdcMem);返回成功;

LEADTOOLS光栅成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。