image打開rgb16 qt_QT中顯示圖像數據

一般圖像數據都是以RGBRGBRGB……字節流的方式(解碼完成后的原始圖像流),我說成字節流,那就表明R,G,B的值各占一個字節,在編程時表示的就是unsigned char * data。

我們先來看一下QT中的QImage對象。在加載data數據前,我們要確定QImage加載圖像的空間分配足夠大,先假設data是由640*480像素的壓縮數據解碼得來的,RGB(3字節)是一個像素,故data的應該是640*480*3個字節;比較一下下面兩種方式:

QImage?img(640,480,QImage::Format_RGB888);//24位

unsigned?char?*?p_bits=img.bits();

24位(3字節)一個像素,那么p_bits所得到的空間應該是640*480*3個字節,所以剛剛好一個字節對一個字節。所以我們這樣賦值即可:

for(int?i=0;i<640*480*3;i+=3)

{

puiBits[i]=data[i];

puiBits[i+1]=data[i+1];

puiBits[i+2]=data[i+2];

}

//接著就是將img轉化成QPixmap填充到QWidget

QPixmap?pixmap=QPixmap::fromImage(img);

pixmap=pixmap.scaled(widget->size());

widget->setAutoFillBackground(true);

QPalette?palette;

palette.setBrush(widget->backgroundRole(),?QBrush(pixmap));

widget->setPalette(palette);

widget->repaint();

另一種方式:

unsigned?int?*?p_bits;

QImage?img(640,480,QImage::Format_RGB32);

p_bits=(uint*)img.bits();

32位(4字節)一個像素,那么p_bits所得到的空間應該是640*480*4個字節,所以不能以上面的方式賦值。有沒有注意到,這里用了unsigned int而不用unsigned char;unsigned int是4個字節的,unsigned char 是1個字節的,所以我們這里做的事情是將每一個RGB單元放到p_bits的每個unsigned int(4字節)中。因為p_bits是unsigned int指針,所以p_bits[i]就是4個字節。所以應該這樣寫:

for(int?i=0;i<640*480*3;i+=3)

{

p_bits[i/3]=qRgb(data[i],data[i+1],data[i+2]);

}

//接著就是將img轉化成QPixmap填充到QWidget

QPixmap?pixmap=QPixmap::fromImage(img);

pixmap=pixmap.scaled(widget->size());

widget->setAutoFillBackground(true);

QPalette?palette;

palette.setBrush(widget->backgroundRole(),?QBrush(pixmap));

widget->setPalette(palette);

widget->repaint();

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259994.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259994.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259994.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開啟chrome默認支持ipv6

在快捷方式后面的屬性后面輸入 --enable-ipv6 以下為轉載&#xff1a; [轉載]chrome開啟或關閉IPV6方法 (2012-05-27 17:54:06) 轉載▼ 標簽&#xff1a; 轉載 分類&#xff1a; 技術 原文地址&#xff1a;chrome開啟或關閉IPV6方法作者&#xff1a;余鯤濤 chrome和firefox都是…

Nginx安裝部署

轉&#xff1a;http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3118061.html Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器&#xff0c;也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開…

android ble 連續讀寫,Android BLE實現對藍牙的讀寫

【實例簡介】通過修改官方的demo實現對藍牙的讀寫操作&#xff0c;詳細http://blog.csdn.net/chenfengdejuanlian/article/details/45787123【實例截圖】【核心代碼】BluetoothLe_demo0└── BluetoothLe_demo0├── AndroidManifest.xml├── bin│ ├── AndroidManife…

一分鐘經理人

原創2016-12-0858沈劍 零、緣起近期公司再做管理者培訓&#xff0c;偶老大推薦了一本薄薄的《一分鐘經理人》&#xff0c;斯賓塞.約翰遜&#xff0c;花了1小時讀完有感&#xff0c;沉淀一篇閱讀筆記&#xff0c;故有此文。一、前言常見經理人有兩類&#xff1a;&#xff08;1&a…

python寫機器人程序_用Python寫的一個多線程機器人聊天程序

本人是從事php開發的, 近來想通過php實現即時通訊(兼容windows)。后來發現實現起來特別麻煩&#xff0c; 就想到python。聽說這家伙在什么地方都能發揮作用。所以想用python來做通訊模塊。。。所以主要學習pythonn的多線程和tcp連接。但是沒有用過python&#xff0c; 所有在學習…

[轉] 前端中的MVC

MVC是一種設計模式&#xff0c;它將應用劃分為3個部分&#xff1a;數據&#xff08;模型&#xff09;、展現層&#xff08;視圖&#xff09;和用戶交互&#xff08;控制器&#xff09;。其中&#xff1a; M - MODEL&#xff08;模型&#xff09; V - VIEW&#xff08;視圖&…

ipoo3可以用鴻蒙,iqooneo3支持無線充電嗎_iqooneo3可以無線充電嗎

iqoo neo3在不高的價格上還保證了自己的品質&#xff0c;有很高的性能&#xff0c;很不錯的屏幕。那么這款手機可以支持無線充電嗎&#xff1f;小編為大家介紹關于iqoo neo3的充電方面。1.iqoo neo3可以支持無線充電嗎iQOO Neo3 配備了 44W 超級閃充&#xff0c;屬于小刀&#…

紅帽Linux故障定位技術詳解與實例(1)

紅帽Linux故障定位技術詳解與實例(1) 2011-09-28 14:26 圈兒 BEAREYES.COM 我要評論(0) 字號&#xff1a;T | T在線故障定位就是在故障發生時, 故障所處的操作系統環境仍然可以訪問&#xff0c;故障處理人員可通過console, ssh等方式登錄到操作系統上&#xff0c;在shell上執行…

u2020 華為_華為5G網管U2020常用MML命令(很實用)

激活小區ACT NRCELL:;ACT NRDUCELL:;去激活小區DEA NRCELL:;DEA NRDUCELL:;查詢小區靜態信息LST NRCELL:;LST NRDUCELL:;查詢小區動態信息DSP NRCELL:;DSP NRDUCELL:;修改幀偏置MOD GNODEBPARAM:FRAMEOFFSET70728;修改子幀配比、時隙結構MOD NRDUCELL:NRDUCELLID0,DUPLEXMODECE…

Struts2中過濾器,攔截器,監聽器他們之間有什么區別?

1、攔截器是基于java反射機制的&#xff0c;而過濾器是基于函數回調的。2、過濾器依賴與servlet容器&#xff0c;而攔截器不依賴與servlet容器。3、攔截器只能對Action請求起作用&#xff0c;而過濾器則可以對幾乎所有請求起作用。4、攔截器可以訪問Action上下文、值棧里的對象…

pdf在html中加載不出來,在網頁中打開顯示PDF

在這里呢&#xff0c;本站僅為大家講解在網頁中顯示PDF文件的簡單方法&#xff0c;注意&#xff0c;是簡單方法&#xff0c;同時&#xff0c;本站已驗證過如下的相關代碼&#xff0c;測試已通過。當然&#xff0c;有的朋友可能會問&#xff0c;是否能達到像百度文庫那樣在網頁中…

hikaril連接sql2000_hikari連接池解析(版本:HikariCP-2.5.1.jar)

maxLifetime參數maxLifetime參數必須小于數據庫的time_wait,默認是1800000&#xff0c;即30分鐘。如果設置為0&#xff0c;表示存活時間無限大。如果不等于0且小于30秒則會被重置回30分鐘。HikariConfig類中有該參數的校驗規則。HikariPool類中&#xff0c;當我們初始化連接池的…

app開發歷程————Android程序解析服務器端的JSON格式數據,顯示在界面上

上一篇文章寫的是服務器端利用Servlet 返回JSON字符串&#xff0c;本文主要是利用android客戶端訪問服務器端鏈接&#xff0c;解析JSON格式數據&#xff0c;放到相應的位置上。 首先&#xff0c;android程序的布局文件main.xml 1 <LinearLayout xmlns:android"http://s…

Android IOS WebRTC 音視頻開發總結(八十七)-- WebRTC中丟包重傳NACK實現分析

Android IOS WebRTC 音視頻開發總結&#xff08;八十七&#xff09;-- WebRTC中丟包重傳NACK實現分析 本文主要介紹WebRTC中丟包重傳NACK的實現&#xff0c;作者&#xff1a;weizhenwei &#xff0c;文章最早發表在編風網&#xff0c;微信ID&#xff1a;befoio 支持原創&#x…

如何去除TD之間的空隙

table{border-collapse:collapse;}轉載于:https://www.cnblogs.com/passer1991/archive/2013/02/27/2935967.html

android切換到上個頁面,Android 返回上一個界面刷新數據

有些界面需要返回上一個界面刷刷新數據,再此做個記錄.首先startActivityForResult進行Actvity進行跳轉,這是跳轉前的界面.// 通過 startActivityForResult() 啟動 ActivityBIntent intent new Intent(getActivity(), NoticeActivity.class);startActivityForResult(intent, 1)…

composer設置代理_composer 設置代理

Docker registry V2部署私有Docker Registry 搭建 Insecure Registry 修改Registry server上的Docker daemon的配置,為DOCKER_OPTS增加–insecure ...css中的position&colon;relative和absolute 屬性語法: position : static | absolute | fixed | relative 取值: static :…

為網格布局圖片打造的超炫 CSS 加載動畫

今天&#xff0c;我想與大家分享一些專門為網格布局的圖像制作的很酷的 CSS 加載動畫效果。您可以把這些效果用在你的作品集&#xff0c;博客或任何你想要的網頁中。設置很簡單。我們使用了下面這些工具庫來實現這個效果&#xff1a; Normalize.css 來替代傳統的 CSS 復位&…

HTML多選框滾動條,《HTM單選.doc

《HTM單選1. 下面標記中&#xff0c;( )在標記的位置添加一個回車符。【選擇一項】A. B. C. D. 2. 要實現以下功能&#xff1a;在網頁中插入一個圖片joke11.gif,使用者通過單擊該圖片&#xff0c;連接到joke11.htm上去。下面的HTML代碼&#xff0c;( )是正確的。【選擇一項】A…

python時間處理模塊有哪些_Python模塊之時間處理

time 模塊>>> import time>>> dir(time)[__doc__, __name__, __package__, accept2dyear, altzone, asctime, clock, ctime, daylight, gmtime, localtime, mktime, sleep, strftime,strptime, struct_time, time, timezone, tzname]包含的變量:timezone -- …