取り出したものを表示するにもライブラリを使うんですね。それはOSが提供しているライブラリであったり、それをラップしたライブラリであったりします。
そしてそれぞれ要求するフォーマットは違います。RGBRGB...
という8bit幅の配列だったりBGRBGR...
という配列だったり、はたまたRRRRR...BBB...GGG...
という配列だったり・・・。また座標空間も右手座標系だったり左手座標系だったりと様々です。そもそもRGBじゃないこともあります。
そしてもっというと画像入力(というよりdecode)ライブラリも内包した、ファイル名を指定するだけで表示できちゃうライブラリも存在します(ほとんどのGUIライブラリやゲームライブラリ)。
まあしかし殆どの場合CPUで画面描画することはないので結果的にDirectXないしOpenGLを叩くことになります。つまり自分でOS作らない限りはOSの支援なしに画像表示することはできません(読み込みだってファイルシステム扱うのにOSの支援が必要やろという話はさておき)。
以下に例を示します。分け方は適当なので当てにしないように。
GPU操作
GPU操作 wrapepr library(Low Layer)
- GLUT(deprecated): OpenGLのラッパー、OpenGLの開発者いわくOpenGL直接叩くなとのこと、なお[lunatea
さんが言及しているように](https://teratail.com/questions/81709)deprecatedになったので使うべきではない
OS Level GUI library
- Win32API(GDI)
- X Window System <- この位置は妥当か????
- Wayland <- この位置は妥当か????
- .NET Framework <- この位置は妥当か????
Wrapper Game Library
- DxLib
- open Frameworks
- SFML
- Unity
Wrapper GUI Library
- GLFW: deprecatedになったGLUTの後継。GUI作成機能もある・・・?
- MFC
- ATL
- Windwos Form
- WPF
- GTK/GTK+/GTK#
- Qt
- Imgui
- Xamarin
- (OpenCV): GUIライブラリじゃないけど最低限の表示くらいはできるので
追記
質問履歴を遡ってみると・・・うーむ。トータルするとやりたいことは
- GUIアプリケーションを作りたい
- 画像や動画を表示させたい
- マルチプラットフォームで
- 画像の入出力についても学びたい、作りたい
- C++がいい
というあたりか・・・?まあGUIについてはImgui
とかQt
を使っとけという思い。凝ったGUIがいらないならゲームライブラリだけどSFML
もよい。ただC++でGUIとか作るもんじゃないと思うので、Xamarinはいいぞ。
いずれにせよGUIはOSとの緊密な連携によってなされるものでどうやってもOS依存コードは発生することを抑えたい。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/02 06:42
2017/07/02 06:45
2017/07/02 06:52
2017/07/02 06:54
2017/07/02 07:00
2017/07/02 07:06
2017/07/02 07:12
2017/07/02 07:14
2017/07/02 07:18
2017/07/02 07:21
2017/07/02 07:25
2017/07/02 07:31
2017/07/03 22:37