FreeType如何将多个位图合成一个位图

j290451256 2011-05-08 07:57:28
FreeType如何将多个位图合成一个位图或者是如何将多个glyph合成一个glyph,现在想进行排版,排版后输出一张位图。高手请进!
...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
浩哥大 2012-04-26
  • 打赏
  • 举报
回复
FILE *fp = fopen(filename, "wb");
if(!fp)
{
printf("fopen failed : %s, %d\n", __FILE__, __LINE__);
return 0;
}
U32 bmppitch = ((width*bitCountPerPix + 31) >> 5) << 2;
U32 filesize = bmppitch*height;
BITMAPFILE bmpfile;

bmpfile.bfHeader.bfType = 0x4D42;
bmpfile.bfHeader.bfSize = filesize + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
bmpfile.bfHeader.bfReserved1 = 0;
bmpfile.bfHeader.bfReserved2 = 0;
bmpfile.bfHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);

bmpfile.biInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmpfile.biInfo.bmiHeader.biWidth = width;
bmpfile.biInfo.bmiHeader.biHeight = height;
bmpfile.biInfo.bmiHeader.biPlanes = 1;
bmpfile.biInfo.bmiHeader.biBitCount = bitCountPerPix;
bmpfile.biInfo.bmiHeader.biCompression = 0;
bmpfile.biInfo.bmiHeader.biSizeImage = 0;
bmpfile.biInfo.bmiHeader.biXPelsPerMeter = 0;
bmpfile.biInfo.bmiHeader.biYPelsPerMeter = 0;
bmpfile.biInfo.bmiHeader.biClrUsed = 0;
bmpfile.biInfo.bmiHeader.biClrImportant = 0;

fwrite(&(bmpfile.bfHeader), sizeof(BITMAPFILEHEADER), 1, fp);
fwrite(&(bmpfile.biInfo.bmiHeader), sizeof(BITMAPINFOHEADER), 1, fp);

U8 *pEachLinBuf = (U8*)malloc(bmppitch);
memset(pEachLinBuf, 0, bmppitch);
U8 BytePerPix = bitCountPerPix >> 3;

U32 pitch = width * BytePerPix;
if(pEachLinBuf)
{
int h,w;
for(h = height-1; h >= 0; h--)
{
for(w = 0; w < width; w++)
{
pEachLinBuf[w*BytePerPix+0] = pData[h*pitch + w*BytePerPix + 0];
pEachLinBuf[w*BytePerPix+1] = pData[h*pitch + w*BytePerPix + 1];
pEachLinBuf[w*BytePerPix+2] = pData[h*pitch + w*BytePerPix + 2];
}
fwrite(pEachLinBuf, bmppitch, 1, fp);

}
if(pEachLinBuf)
{
free(pEachLinBuf);
pEachLinBuf=NULL;
}
}

fclose(fp);

return 1;
Ei 2011-05-10
  • 打赏
  • 举报
回复
你在这里问 估计没多少人用过,我只做过一些简单的字体输出

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧