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

福州企业制作网站如何做友情链接

福州企业制作网站,如何做友情链接,漳州市长泰县建设局网站,自己搭建服务器做网站要多久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/32567.html

相关文章:

  • 网站制作推广公司站长工具的使用seo综合查询运营
  • 培训教育学校的网站建设方案济南百度seo
  • 专业做旅游网站的公司搜索引擎优化seo多少钱
  • 网站开发学那种语言百度官网进入
  • 注册一家公司需要什么条件武汉seo关键词优化
  • 做微电网的公司网站百度经验官方网站登录入口
  • 郑州建设局网站北京seo技术交流
  • 无锡做网站设计的企业seo的主要分析工具
  • 深圳市防今天防疫情况北京seo培训机构
  • 在线网页制作培训西安企业seo外包服务公司
  • 网络维护员工作内容免费seo快速收录工具
  • 苏州网网站建设天津百度推广电话号码
  • 做视频网站想用家庭网络磁力云搜索引擎入口
  • 电脑什么软件可以做动漫视频网站国外免费域名申请
  • 怎么套网站网络营销与市场营销的区别
  • 瑞安哪里有做百度的网站流量精灵官网
  • 南宁住房和城乡建设委员会网站产品销售方案与营销策略
  • 可以做心理测试的网站有哪些全国疫情突然又严重了
  • 政府网站开发要求视频推广方案模板
  • workerman 做网站seo网站排名优化价格
  • 单片机和做网站网络营销专业主要学什么
  • wordpress如何添加自定义链接济南seo优化公司助力排名
  • 南京建设网站公司网站优化怎么做
  • 做网站电话销售常见的网络推广方式
  • 后台更新的内容在网站上不显示青岛网站优化公司
  • 一流的句容网站建设排名轻松seo 网站推广
  • 张家界做网站dcworkseow
  • 有没有做高仿手表的网站营销型网站建设报价
  • 济南做网站要多少钱指数函数求导公式
  • 基本网站怎么做企点qq