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

html5移动web开发什么是seo什么是sem

html5移动web开发,什么是seo什么是sem,网站页面维护,桂林生活网二手房市场1.接口设计 2.窗口渲染器和材质初始化 3.渲染Draw并测试渲染YUV 4.渲染画面随窗口大小自动缩放并抗锯齿 5.清理接口和接收窗口退出事件 1.接口设计:原则 主要的实现步骤: main的流程: 1打开文件 yuv_file.open("400_300_25.yuv&quo…

1.接口设计
2.窗口渲染器和材质初始化
3.渲染Draw并测试渲染YUV
4.渲染画面随窗口大小自动缩放并抗锯齿
5.清理接口和接收窗口退出事件

 


1.接口设计:原则

主要的实现步骤:
main的流程:

1打开文件

yuv_file.open("400_300_25.yuv", ios::binary);

2定义和创建
实例指针

static XVideoView* view = nullptr;
view = XVideoView::Create();

3.初始化视图

view->Init(sdl_width, sdl_height,

        XVideoView::YUV420P);

4.定时器读图画图

startTimer(10)
yuv_file.read((char*)yuv, sdl_width * sdl_height * 1.5);

接口设计注意事项:

1.为什么  virtual bool Draw(const char* data, int linesize = 0) = 0;

2.线程安全指的是?init初始化时,Draw更改互斥锁
3.私有成员命名加 后缀  width_
4.头文件中不引入命名空间,因为不知道在什么环境中运行。

基类:class XVideoView 不写任何定义,只是虚函数。

成员函数
创建

static XVideoView* Create(RenderType type=SDL);

关键词  virtual
初始化

virtual bool Init(int w, int h,

        Format fmt = RGBA,

        void* win_id = nullptr) = 0;

1.返回值需要添加0
画图

virtual bool Draw(const char* data, int linesize = 0) = 0;

2.用nullptr 而不是null

    

成员变量
材质的宽高

int width_ = 0;int height_ = 0;

像素

Format fmt_ = RGBA;

线程安全

std::mutex mtx_;

不能在头文件中写命名空间

派生类:class XSDL :public XVideoView                
               struct SDL_Window;   //窗口
               struct SDL_Renderer; //渲染器
               struct SDL_Texture;    //材质
 

成员变量

SDL_Window* win_ = nullptr;

SDL_Renderer* render_ = nullptr;

SDL_Texture* texture_ = nullptr;

成员函数

初始化

bool Init(int w, int h,

        Format fmt = RGBA,

        void* win_id = nullptr) override;

关键词 函数最后override;
画图

bool Draw(const char* data,

        int linesize = 0) override;

    Init 实现步骤:

锁定线程

unique_lock<mutex> sdl_lock(mtx_);

初始化SDL 视频库

SDL_Init

解决锯齿问题,线性插值算法

   SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "1");

创建窗口

SDL_CreateWindow
SDL_CreateWindowFrom

创建渲染器

SDL_CreateRenderer

创建材质

SDL_CreateTexture

draw画的步骤:
 

锁定线程

unique_lock<mutex> sdl_lock(mtx_);

设定格式

case XVideoView::RGBA:

复制内存到显显存

SDL_UpdateTexture

清空屏幕

SDL_RenderClear

材质复制到渲染器

SDL_RenderCopy

显示

SDL_RenderPresent

4.渲染画面随窗口大小自动缩放并抗锯齿

            基类接口定义添加:
            

窗口显示缩放

    int scale_w_ = 0;   

    int scale_h_ = 0;

void Scale(int w, int h)


            

重构大小

重载QWidget里的resizeEvent

SdlQtRGB:: public QWidget
void resizeEvent(QResizeEvent* ev) override;

具体事件不清楚,但是一定要加override.回调函数1.ui.label要resize
2.移到左上角
3.自适应

ui.label->resize(size());

    ui.label->move(0, 0);

    view->Scale(width(), height());

  实现类draw

材质复制到渲染器

if (scale_w_ <= 0)scale_w_ = width_;

    if (scale_h_ <= 0)scale_h_ = height_;

渲染的宽高,可缩放

rect.w = scale_w_;//渲染的宽高,可缩放

    rect.h = scale_h_;

业务逻辑   
void SdlQtRGB::resizeEvent(QResizeEvent* ev)
{
      view->Scale(width(), height());
 }   



5.清理接口和接收窗口退出事件

http://www.dtcms.com/wzjs/52579.html

相关文章:

  • 信访门户网站建设的社会效益世界球队最新排名榜
  • 西安专业做网站建设在线生成个人网站
  • 三合一网站建设口碑好中国十大公关公司排名
  • 湖南建设教育网站公司网站优化
  • 网站排版教程网站seo基础优化
  • 做网站ps的图片2021年网络热点舆论
  • 个人电商网站建设范例收录查询工具
  • 汉服网站怎么做精准营销系统
  • 返利商城网站怎么做网站优化怎么做
  • 南宁公司网站模板建站惠州关键词排名优化
  • 科讯cms 网站地图seo快速排名软件平台
  • 广州网站推广策划案唐山建站公司模板
  • 建设网站合同文档qq推广引流怎么做
  • 免费网站制作效果app制作
  • 品牌建设专项规划抖音seo排名软件哪个好
  • 平面设计素材网有哪些深圳抖音seo
  • 西安公积金 网站建设中山百度推广公司
  • 新站seo优化快速上排名站长工具ip查询
  • 深圳网站建设公司官网谷歌浏览器下载安装2022
  • 照片做视频ppt模板下载网站好免费的行情软件网站下载
  • 四平网站建设有哪些广州谷歌seo
  • 破解网站后台密码有人做吗电商seo优化是什么意思
  • 苏州公司注册代理记账佛山做seo推广公司
  • 专业建设金融行业网站的公司交换友情链接的渠道有哪些
  • 网站备案在哪个网长沙疫情最新消息今天封城了
  • 中国建设网站官方网站花都网络推广seo公司
  • 做美女网站违法不啊免费广告投放平台
  • 国家建设部网站官网证件查询河北百度seo
  • 织梦网站图片怎么做滚动图片百度竞价广告收费标准
  • 动态网站用什么语言做的湖北seo诊断