Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302296
  • 博文数量: 79
  • 博客积分: 773
  • 博客等级: 军士长
  • 技术积分: 789
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-24 23:52
个人简介

victory for prepared

文章分类

全部博文(79)

文章存档

2024年(1)

2023年(1)

2022年(2)

2021年(1)

2018年(8)

2017年(3)

2016年(20)

2015年(12)

2013年(5)

2012年(25)

2011年(1)

我的朋友

分类: WINDOWS

2017-11-12 20:29:03

    我在编写程序的过程中,需要显示一些带有压缩格式的图片,但是这些图片无法使用windows自身的api来处理。
因此需要借助第三方的图形库来处理,转化为windows可以接收的格式。
    其实这就是一个接口适配器,将两种工具结合起来。首先要做的是了解两边各接受的格式,然后再写程序进行转换。
    首先是windows这边的api。windows这边接受DIB格式的位图,DIB英文为device independ bitmap 设备无关的位图,这是说图像文件可以存储在磁盘内,相对于DDB来说,ddb是一种存在程序中的图像。windows rc中的图像就是ddb。DIB文件的格式通常由一个BITMAPINFO 结构和一个存储像素数据的数组组成。
    其次是opencv2这边的图形数据结构。opencv2中的矩阵类Mat。Mat由三部分组成,矩阵描述头,像素矩阵,引用计数。如下图所示。

    那么大概的思路应该有了,首先需要得到矩阵数据的指针,并搞清楚矩阵数据的排列方式。然后自己构造BITMAPINFO结构,再将数据以正确的方式塞到位图空间。就得到了位图的转换。
    具体怎么做的呢,明天更新。
阅读(846) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~