找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 189|回复: 6
打印 上一主题 下一主题
收起左侧

求怎么在C语言函数里调整中文显示的行间距

[复制链接]
跳转到指定楼层
楼主
ID:1114840 发表于 2024-3-31 08:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求怎么在函数里调整中文显示的行间距
  1. void OLED_ShowChinese12x12(unsigned char x,unsigned char y,unsigned char *s,unsigned char sizey,unsigned char mode)
  2. {
  3.         unsigned char i,j,k,DATA=0;
  4.         unsigned short HZnum;
  5.         unsigned char TypefaceNum;
  6. volatile unsigned char b=0;

  7.         x/=2;

  8.         TypefaceNum=(sizey/8+((sizey%8)?1:0))*sizey;//字符所占字节数
  9.         HZnum=sizeof(tfont12)/sizeof(typFNT_GB12);        //统计汉字库数目
  10. //        Column_Address(x,x+sizey/2-1);
  11. //        Row_Address(y,y+sizey-1);
  12.         b=x+16/2-1;
  13.         Column_Address(x,b);
  14.         Row_Address(y,y+12-1);
  15.         for(k=0;k<HZnum;k++)
  16.         {
  17.                 if ((tfont12[k].Index[0]==*(s))&&(tfont12[k].Index[1]==*(s+1)))
  18.                 {         
  19.                         for(i=0;i<TypefaceNum;i++)
  20.                         {
  21.                                 for(j=0;j<4;j++)
  22.                                 {
  23.                                         if(tfont12[k].Msk[i]&(0x01<<(j*2+0)))
  24.                                         {
  25.                                                 DATA=0xf0;
  26.                                         }
  27.                                         if(tfont12[k].Msk[i]&(0x01<<(j*2+1)))
  28.                                         {
  29.                                                 DATA|=0x0f;
  30.                                         }
  31.                                         if(mode)
  32.                                         {
  33.                                                 OLED_WR_Byte(~DATA);
  34.                                         }else
  35.                                         {
  36.                                                 OLED_WR_Byte(DATA);
  37.                                         }
  38.                                         DATA=0;
  39.                                 }
  40.                         }
  41.                 }                                          
  42.                 continue;  //查找到对应点阵字库立即退出,防止多个汉字重复取模带来影响
  43.         }

  44. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:819198 发表于 2024-4-2 09:40 | 只看该作者
推荐你看一下下面这个教程,可以补一些基础知识 https://space.bilibili.com/37353 ... ondetail?sid=536055
回复

使用道具 举报

板凳
ID:883242 发表于 2024-4-2 16:22 | 只看该作者
你在这个函数里面调整行间距是毫无意义的,行间距是调用这个函数的地方确定的,这个函数最开始的参数x,y,其中的y就是行在显示屏上面的位置,两次调用这个函数的y值差异就是行间距,你改这个函数是瞎子点灯白费蜡。
回复

使用道具 举报

地板
ID:1115167 发表于 2024-4-2 16:46 | 只看该作者
在函数中调整中文显示的行间距,可以通过修改函数的CSS样式来实现。具体步骤如下:



在函数的HTML代码中,找到需要调整行间距的中文显示的元素,可以是段落(<p>)、标题(<h1>,<h2>,<h3>等)或其他具有文本内容的元素。


为该元素添加一个唯一的id属性,例如:<p id="chinese-text">中文内容</p>。


在函数的CSS样式中,使用该id选择器来设置行间距。
回复

使用道具 举报

5#
ID:1010435 发表于 2024-4-2 16:56 | 只看该作者
        b=x+16/2-1;这个就是确定下一行的起始位,可以修改这句 行间距多一行就+1,也可以定义个变量,z, b=x+16/2-1+z;就可以了
回复

使用道具 举报

6#
ID:1010435 发表于 2024-4-2 16:58 | 只看该作者
这个函数好像字符串所有的字符起始位都一样吧
回复

使用道具 举报

7#
ID:1115166 发表于 2024-4-2 17:02 | 只看该作者
在CSS中设置行高(line-height)属性来调整段落中文字的行间距。例如:    p {     line-height: 1.5; /* 设置行高为1.5倍 */ }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表