Ejemplo n.º 1
0
/** 绘制文本 */
int TextLayer_Draw( LCUI_TextLayer* layer )
{
	LCUI_Rect rect;
	/* 如果文本位图缓存无效 */
	if( layer->is_using_buffer && !Graph_IsValid( &layer->graph ) ) {
		return -1;
	}
	rect.x = 0;
	rect.y = 0;
	rect.w = layer->max_width;
	rect.h = layer->max_height;
	return TextLayer_DrawToGraph( layer, rect, Pos(0,0), &layer->graph );
}
Ejemplo n.º 2
0
int test_string_render( void )
{
	int ret;
	LCUI_Graph img;
	LCUI_Pos pos = {0, 80};
	LCUI_Rect area = {0, 0, 320, 240};
	LCUI_TextLayer txt = TextLayer_New();
	LCUI_TextStyleRec txtstyle;

	/* 初始化字体处理功能 */
	LCUI_InitFontLibrary();

	/* 创建一个图像,并使用灰色填充 */
	Graph_Init( &img );
	Graph_Create( &img, 320, 240 );
	Graph_FillRect( &img, RGB( 240, 240, 240 ), NULL, FALSE );

	/* 设置文本的字体大小 */
	TextStyle_Init( &txtstyle );
	txtstyle.pixel_size = 24;
	txtstyle.has_pixel_size = TRUE;

	/* 设置文本图层的固定尺寸、文本样式、文本内容、对齐方式 */
	TextLayer_SetFixedSize( txt, 320, 240 );
	TextLayer_SetTextStyle( txt, &txtstyle );
	TextLayer_SetTextAlign( txt, SV_CENTER );
	TextLayer_SetTextW( txt, L"这是一段测试文本\nHello, World!", NULL );
	TextLayer_Update( txt, NULL );

	/* 将文本图层绘制到图像中,然后将图像写入至 png 文件中 */
	TextLayer_DrawToGraph( txt, area, pos, &img );
	ret = LCUI_WritePNGFile( "test_string_render.png", &img );
	Graph_Free( &img );

	/* 释放字体处理功能相关资源 */
	LCUI_FreeFontLibrary();
	return ret;
}