当前位置: 首页 > wzjs >正文

巴中自助网站建设在哪可以做网站

巴中自助网站建设,在哪可以做网站,智能ai写作免费网站,服装设计方案前言 在做音视频开发的时候,一般会在视频上增加osd水印,时间或者logo之类的,这种水印其实就是由点阵数据构成,本文使用freetypeSDLSDL_ttf生成文字点阵数据,并保存为bmp格式图片。使用这种方式的优点: 方便…

前言

        在做音视频开发的时候,一般会在视频上增加osd水印,时间或者logo之类的,这种水印其实就是由点阵数据构成,本文使用freetype+SDL+SDL_ttf生成文字点阵数据,并保存为bmp格式图片。使用这种方式的优点:

方便快捷,直接调用SDL_ttf的库函数生成数据,并且可以自定义文字水印的字体大小。

移植开发环境

虚拟机:ubuntu18.04

交叉编译器:arm-gcc7.3-linux-musleabi-gcc(替换为你自己的编译器)

源码:

        freetype-2.4.10

        SDL-1.2.15

        SDL_ttf-2.0.11

源码和demo已经上传到我的gitee。

sdl_ttf: linux下OSD使用SDL_ttf生成点阵数据

源码编译

1、freetype编译

解压源码,进入源码目录,裁剪编译

./configure CC=arm-gcc7.3-linux-musleabi-gcc --host=arm-gcc7.3-linux --prefix=/share/test/sdl/freetype-lib

2、SDL编译

解压源码,进入源码目录,裁剪编译

./configure CC=arm-gcc7.3-linux-musleabi-gcc --host=arm-gcc7.3-linux --prefix=/share/test/sdl/sdl-lib --disable-alsa --disable-pulseaudio --enable-esd=no

3、SDL_ttf编译

解压源码,进入源码目录,裁剪编译

./configure CC=arm-gcc7.3-linux-musleabi-gcc --host=arm-gcc7.3-linux --prefix=/share/test/sdl/sdl_ttf-lib --with-freetype-prefix=/share/test/sdl/freetype-lib --with-sdl-prefix=/share/test/sdl/sdl-lib

注意编译sdl_ttf的时候,需要链接上freetype和sdl的库

完成后将sdl和sdl_ttf编译生成的库文件和头文件复制出来,后续编译demo的时候需要参与编译。freetype的不需要。

开发demo

C语言例程

#include <stdio.h>
#include "SDL.h"
#include "SDL_ttf.h"int main(int argc, const char *argv[])
{char * pstr = "hello你好";SDL_PixelFormat *fmt;TTF_Font *font; SDL_Surface *text, *temp; if (TTF_Init() < 0 ){ fprintf(stderr, "Couldn't initialize TTF: %s\n",SDL_GetError()); SDL_Quit();} font = TTF_OpenFont("./simsun.ttf", 48);if ( font == NULL ){ fprintf(stderr, "Couldn't load %d pt font from %s: %s\n",18,"ptsize", SDL_GetError()); } SDL_Color forecol = { 0xff, 0xff, 0xff, 0xff }; text = TTF_RenderUTF8_Solid(font, pstr, forecol);fmt = (SDL_PixelFormat*)malloc(sizeof(SDL_PixelFormat));memset(fmt,0,sizeof(SDL_PixelFormat));fmt->BitsPerPixel = 24;fmt->BytesPerPixel = 3;fmt->colorkey = 0xffffffff;fmt->alpha = 0xff;temp = SDL_ConvertSurface(text,fmt,0);SDL_SaveBMP(temp, "/tmp/save.bmp");SDL_FreeSurface(text); SDL_FreeSurface(temp);TTF_CloseFont(font); TTF_Quit(); return 0;
}

编译

arm-gcc7.3-linux-musleabi-gcc -o demo test.c -I./include libSDL_ttf.a libfreetype.a libSDL.a -lpthread -lm

编译完成后,执行程序,会生成一张bmp图片,内容为要生成的文字。

bmp格式解析

代码里面的字体文件库simsun.ttf,可在我的gitee一起下载,也可以用你自己的。

值得注意的是代码里 fmt->BitsPerPixel、fmt->BytesPerPixel这两个参数,

fmt->BitsPerPixel表示像素格式的类型,SDL 定义了许多预设的像素格式,例如:

  • SDL_PIXELFORMAT_RGB24:24位像素格式,每个像素占用3字节,顺序为 R-G-B。

  • SDL_PIXELFORMAT_RGBA32:32位像素格式,每个像素占用4字节,顺序为 R-G-B-A。

  • SDL_PIXELFORMAT_RGB565:16位像素格式,5位红色,6位绿色,5位蓝色。

  • SDL_PIXELFORMAT_ARGB8888:32位像素格式,每个像素占用4字节,顺序为 A-R-G-B

fmt->BytesPerPixel表示每个像素占用的字节数。例如:

  • 对于 SDL_PIXELFORMAT_RGB24BytesPerPixel 为 3。

  • 对于 SDL_PIXELFORMAT_RGBA32BytesPerPixel 为 4。

  • 对于 SDL_PIXELFORMAT_RGB565BytesPerPixel 为 2。

参考文档:

BMP文件格式解析_bmp格式-CSDN博客


文章转载自:

http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://00000000.mrtdq.cn
http://www.dtcms.com/wzjs/612913.html

相关文章:

  • dede网站mip企业网站展示论文
  • 部署推进网站建设企业官网制作报价
  • 北京网站制作建设注销网站 取消接入
  • 网站生成浙江平板网站建设
  • 大型网站建设兴田德润优惠诚信网站平台建设方案
  • 杭州旅游团购网站建设普宁网站建设
  • 江西网站建设哪家公司好简述seo的概念
  • 如何做网站公证pc端网站转手机站怎么做
  • 做ppt用什么网站网站建设工作总结
  • 网站建设kpi考核做充气气模产品一般去哪些网站
  • 网站建设推广代运营网络营销推广的渠道是什么
  • 撰写网站建设规划设计任务书佛山网站排名优化
  • 网站可以自己维护吗深圳p2p网站建设
  • 怎么做外汇返佣的网站网站运营推广难做
  • 手机测评做视频网站关于动漫的网站建设
  • 如何用word做网站地图网页与网站建设
  • 张店低价网站建设网页设计源代码
  • 建设一个营销网站的费用wordpress 去掉底部版权
  • 交易平台网站怎么做深圳网站建设 卓越创
  • 什么网站的页面好看佛山网站企业
  • ui展示 网站猪八戒设计网站官网
  • 网站制作制作公司wordpress主题加载慢
  • 校园网站怎么做HTML河南网络推广公司
  • 网站百度搜索不到律所网站建设
  • 长春网站优化页面东莞市官网网站建设哪家好
  • 新手想做网站赚钱网站建设跟pc官网一样吗
  • 免费下载建设银行官方网站网易企业邮箱修改密码
  • 甘肃兰州wordpress 优化变快
  • 做网站价格报价费用多少钱wordpress设置菜单导航栏
  • 深圳华宫建设集团网站企业商城网站多少钱