日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hi3516A开发-- OSD功能实现

發布時間:2025/3/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hi3516A开发-- OSD功能实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如需轉載請注明出處:https://blog.csdn.net/qq_29350001/article/details/79075800

網上相關功能實現資料有很多,關鍵操作:海思osd+freetype+SDL+SDL_ttf字體顏色。我的虛擬機是 Ubuntu 14.04,那首先移植 freetype+SDL+SDL_ttf 這三個庫。

一、庫移植

(1)freetype下載安裝

1、下載

  • freetype下載
    選擇下載版本為: freetype-2.4.10.tar.gz

2、安裝

解壓: # tar -xvf freetype-2.4.10.tar.gz
進入freetype文件目錄: # cd freetype-2.4.10
執行: # ./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux
編譯:make && make install

(2)SDL下載安裝

1、下載

  • SDL下載
    選擇下載版本:SDL-1.2.15.tar.gz

2、安裝

解壓: # tar -xvf SDL-1.2.15.tar.gz
進入SDL文件目錄: # cd SDL-1.2.15/
執行: # ./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux
編譯:make && make install

(3)SDL_ttf下載安裝

1、下載

  • SDL_ttf下載
    選擇下載版本:SDL_ttf-2.0.11.tar.gz

2、安裝

解壓: # tar -xvf SDL_ttf-2.0.11.tar.gz
進入SDL_ttf文件目錄: # cd SDL_ttf-2.0.11/
執行: # ./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux --with-freetype-prefix=/usr/local/ --with-sdl-prefix=/usr/local/
編譯: make && make install

注意:將上面的 – 改為兩個 -
這是CSDN編譯器的bug!!

二、測試

(1)拷貝生成sdl庫

mkdir /opt/sdl_lib
cd /opt/sdl_lib
cp /usr/local/include/ ./ -rf
cp /usr/local/lib/ ./ -rf

(2)編寫測試程序

/************************************************************> File Name: test.c> Author: Sues> Mail: sumory.kaka@foxmail.com > Created Time: 2017年02月28日 星期二 21時47分05秒************************************************************/#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("./simhei.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 = 16;fmt->BytesPerPixel = 2;fmt->colorkey = 0xffffffff;fmt->alpha = 0xff;temp = SDL_ConvertSurface(text,fmt,0);SDL_SaveBMP(temp, "save.bmp"); SDL_FreeSurface(text); SDL_FreeSurface(temp);TTF_CloseFont(font); TTF_Quit(); return 0; }

(3)編譯

# arm-hisiv300-linux-gcc test.c `sdl-config --cflags --libs` -I/opt/sdl_lib/include -I/opt/sdl_lib/include/SDL -L/opt/sdl_lib/lib -lSDL -lSDL_ttf -Wl,-rpath -o test

想了解更多,參看:UNIX再學習 – 靜態庫與共享庫

(4)在開發版上執行 test

模組燒寫,參看:Hi3516A開發-- 生成燒寫最小文件系統 squashfs

在test文件下放置simhei.ttf文件,這樣才能找到字體

如需轉載請注明出處:https://blog.csdn.net/qq_29350001/article/details/79075800

總結

以上是生活随笔為你收集整理的Hi3516A开发-- OSD功能实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。