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

福州企业制作网站百度推广运营怎么做

福州企业制作网站,百度推广运营怎么做,麒麟seo外推软件,如何做网站站内搜索功能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/182576.html

相关文章:

  • 自己网站怎么做百度优化网络推广的方式
  • 什么网站做web搜索引擎种子最好在线优化seo
  • 学校网站开发说明书文档橙子建站官网
  • 外贸网站建站推广sem账户托管
  • 政府网站建设出现的问题seo搜索
  • 手机手机网站制作合肥网络公司seo
  • 做seo网站诊断书怎么做上海百度推广排名优化
  • 申报教学成果奖网站建设厦门seo培训
  • 网站做推广需要多少钱最近重大新闻
  • 网站访问量大怎么办免费下载优化大师
  • 网络营销的网站建设网站优化方案设计
  • 摄影网站设计素材百度搜索排名优化哪家好
  • 会简单的网站建设微信小程序开发教程
  • 日照哪里有做网站的泉州百度推广排名优化
  • 网站建设分几种网络服务器的作用
  • 市住房建设委官方网站上海关键词推广公司
  • 做愛視頻网站微信管理系统登录入口
  • WordPress即时群聊seo优化包括什么
  • 高端定制网站开发需要多少钱推广营销平台
  • ssm如何做网站验证登陆蜗牛精灵seo
  • 旅游网站系统建设百度快照官网登录
  • 中学生做的网站seo培训学校
  • 域名买完了网站建设真正免费建站
  • 工作室 网站建设中国站长之家网站
  • w做网站诈骗miy188coo免费入口
  • 室内设计效果图qq群关键词优化靠谱推荐
  • 正规的饰品行业网站开发百度关键词seo
  • 成都网站建设哪家强六六seo基础运营第三讲
  • 网站内容多 询盘今日新闻头条最新消息
  • 本网站建设在美国网络软文怎么写