我正在与Cortex M3、Stellaris® LM 3S 6965评估板合作。我正在尝试在工作的oled屏幕上显示文本。但我不知道如何增加文本大小。
有人知道怎么做吗?
我的当前代码:
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/sysctl.h"
#include "drivers/rit128x96x4.h"
//*****************************************************************************
//
// The error routine that is called if the driver library encounters an error.
//
//*****************************************************************************
#ifdef DEBUG
void
__error__(char *pcFilename, unsigned long ulLine)
{
}
#endif
//*****************************************************************************
//
// Display scrolling text plus graphics on the OLED display.
//
//*****************************************************************************
int
main(void)
{
unsigned long ulRow, ulCol, ulWidth, ulHeight;
volatile int iDelay;
unsigned char *pucRow;
static char pucHello[] =
{
" "
"Current selected timezone: +2 GMT - Brussels"
" "
};
//
// Set the clocking to run directly from the crystal.
//
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_8MHZ);
//
// Initialize the OLED display.
//
RIT128x96x4Init(1000000);
// Simple scrolling text display
//
ulCol = 0;
while(1)
{
//
// Display the text.
//
RIT128x96x4StringDraw(&pucHello[ulCol++], 8, 8, 11);
//
// Delay for a bit.
//
for(iDelay = 0; iDelay < 100000; iDelay++)
{
}
//
// Wrap the index back to the beginning of the string.
//
if(ulCol > 53)
{
ulCol = 0;
}
}
}
字符串
3条答案
按热度按时间qgelzfjb1#
当然,不能保证你能做到。
嵌入式系统在字体使用方面通常没有太多的自由度;动态缩放是相当昂贵的,并且许多字体是作为特定大小的预渲染二进制位图的句柄。
您需要查看由
rit128x96x4.h
头定义的API:s,因为这似乎是显示特定的功能。你不会说你当前得到的字体有多大;在128 x96这样小的显示器上,我不希望有任何超大字体,因为一般来说,提供一个小字体来最大限度地增加屏幕上的文本量会更有用。
UPDATE:如果this random Google hit准确的话,提供的图形API并不算丰富,而且似乎也没有办法切换字体。
rdlzhqv92#
StellarisWare下的grlib\fonts文件夹中有一些字体。您可以使用API调用GrContextFontSet()更改字体
hts6caw33#
字体通常只是位图数组。您可以重新定义位图的任何字体你想要的。如果你想增加字符的大小,那么你可能还需要改变其他的常量,这样绘图程序就知道如何在字符被渲染时给它们设置间距。