GDIとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|製品情報|動画|本・雑誌|文献|商品|全文検索

国際保健用語集

日本国際保健医療学会日本国際保健医療学会

ウィキペディア

ウィキペディアウィキペディア

GDI

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/01/30 19:10 UTC 版)

GDI

脚注

  1. ^ 他社も登録商標として登録されている。

Graphics Device Interface

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/11/30 15:19 UTC 版)

(GDI から転送)

graphics device interfacegraphical device interface とも呼ばれる、GDI)は、カーネル及びユーザー(ウィンドウマネージャ)と協調するMicrosoft Windowsの3つの主要コンポーネント(サブシステム)の1つ。

GDIはグラフィカルオブジェクトの表示と、ディスプレイプリンターのような出力デバイスへの転送のためのWindowsの規格である。

目次

GDI

GDIは直線や曲線の描画、フォントレンダリングパレットの制御といった処理を担当する。ウィンドウメニューなどのような上位レベルの描画については直接関わらず、より上位のuser32.dllにあるユーザーサブシステムに任される。 GDIはハードウェアに直接アクセスするドライバよりも上位に位置し、デバイスの機能的な調整と抽象化がGDIの役目である。GDIを使うことにより、画面やプリンターなどの多様なデバイスに容易に描画でき、そして各デバイスで適切な表示結果を望める。この機能はWindowsの全てのWYSIWYGアプリケーションの要である。

フリーセルマインスイーパのような高速なグラフィックの描画を要求しないシンプルなゲームはGDIを使う。しかし、GDIはアニメーションをうまく表示できず(フレームバッファを同期する概念がない)、3Dラスタライゼーション機能がないこともあり、最新のゲームではハードウェアの機能をより活用できるDirectXまたはOpenGLが使われる。

Windows Vistaでは、GDIアプリケーションは新しい描画エンジンであるDesktop Window Managerのもとで動作し、ハードウェアアクセラレーションは用いられない。

GDIプリンター

GDIプリンター(WinmodemのようにWinprintersとしても知られている)、特にGDIレーザープリンターは、本来プリンターが行う処理の一部をホストコンピュータ(パソコン)側で代行する。ホストコンピュータでビットマップイメージをレンダリングし、プリンターにビットマップを転送する。この方式には以下の2つの利点がある。

  • グラフィック処理用CPURAMをプリンタに搭載するコストを節約できる。
  • 受け取ったイメージを印刷することに特化することでパフォーマンスを最適化できる。

また以下の点で不利である。

  • ホストコンピュータの負荷が高くなる。最近のPCでは問題ないが、古いPCで複雑なドキュメントを印刷する場合は非常に遅くなる場合がある。
  • GDIプリンタは通常、プリンターのファームウェアに標準的な印刷機能のエミュレーションを含まない(またはそれを処理できる能力を持たない)。ハイエンドPCLプリンターやPostScriptプリンターでは、ソフトウェアの互換性やドライバのバグなどの問題があった場合にドライバを更新して対応できるが、GDIプリンターでは対応策がない場合がある。
  • GDIプリンターは一般的にWindowsに限り動作する。例外はあるが、他のオペレーティングシステムでは原則的にGDIプリンターを使用できない。

最新のインクジェットプリンターの機種はGDIベース(レーザープリンターではコストが主要因であるのに対し、ここでは主にパフォーマンスの理由)であるが、より柔軟な傾向がある。多くがMacintoshをサポートし、LinuxのコミュニティではLinux版ドライバのサポートをかなり改善した。一部(特にセイコーエプソン)ではより伝統的なエミュレーションを予備として提供することが多い。

一般的には安価なレーザープリンターはGDIデバイスであるが、多くのメーカーではPCLやPostScript、あるいはその両方の機能を持つモデルも製造している。GDIのみをサポートするプリンターはどのメーカーにおいても最も安価なモデルとして位置づけられる。

詳細

デバイスコンテキスト

デバイスコンテキストは、描画する対象を抽象化した存在である。画面またはプリンターへ出力するテキスト及びイメージの属性を定義するために使われ、関連付けられたグラフィックスオブジェクトとそれに関連する属性の集合からなる。実際のコンテキストはGDIによって管理される。構造体へのハンドルであるデバイスコンテキストは出力を行う前に取得し、要素が書き込まれた後に解放する。大抵のGDIオブジェクトのように、デバイスコンテキストは直接データにアクセスできないという意味で隠蔽されているが、それを制御し、何かを描画し、情報を取得し、オブジェクトを変更するといったような様々なGDI関数にデバイスコンテキストを渡すことができる。

デバイスコンテキストには次の種類がある。

  • 画面
  • プリンター
  • メモリ
  • 情報(インフォメーションコンテキスト)

このうち、情報は描画に用いることはできない情報取得専用のデバイスコンテキストである。

グラフィックスオブジェクト

デバイスコンテキストに関連付けが可能なグラフィックスオブジェクトには次の種類がある。これらは、SelectObject関数によってデバイスコンテキストに関連付けさせることが可能である。

  • ビットマップ
  • ブラシ
  • パレット
  • フォント
  • パス
  • ペン
  • リージョン

GDI+

GDI+は、Windows XPで新しく登場したグラフィックサブシステムである。Windows XP以降、標準搭載されているほか、Windows 98/NT 4.0 SP6以降で使用可能である[1][2]。GDI+は「次世代」の2Dグラフィック環境であり、アルファブレンド、グラデーション、アンチエイリアス、より複雑なラインパス管理、(GDIで特に欠けていた)JPEGPNGのような最新の画像ファイルフォーマットの根本的なサポート、2Dビューのパイプライン上のアフィン変換の合成に対する統合的なサポートといった先進的な機能を追加している。これらの機能はWindows XPのユーザインタフェースの様々な箇所に使われており、基本的なグラフィックレイヤのこうした表現は、FlashSVGといったベクターグラフィックシステムの実装を大きく単純化する。

基本的にはネイティブC++用のライブラリ(DLL)のみが提供される形となっているが、.NET Frameworkの基本クラスライブラリでは System.Drawing名前空間にGDI+のマネージインタフェースが用意されており、標準的に使用されている。

なお、Vistaで1.1にバージョンが上がった。

Direct2D

Windows Vista以降のWindows OS上では、ハードウェアによるGDIアクセラレーションが実行されない(BitBltを除く)。また、GDI+では飛躍的に表現力や描画品質が向上しているが、内部で使用されているAPIはレガシーなGDIそのものであったりソフトウェア実装であったりするため、描画速度は当然犠牲になる。これらを補完する形で登場したのがDirect2DおよびDirectWriteである。Direct2D/DirectWriteは、GDI+の先進的な機能をDirect3D 10.1上に構築したCOMベースの高レベルAPIで、GDI/GDI+で問題となっていた描画速度性能を、Direct3Dによるハードウェア アクセラレーションを活用することで大幅に改善することが可能となる。ただし現在のDirect2D 1.0では、印刷機能(プリンターデバイスへの出力機能)を直接サポートしないため、印刷時にはGDI/GDI+、あるいはXPSドキュメントAPI(XPSの作成やそれを用いての印刷などをサポートするAPI)を使用する必要がある。

脚注

[ヘルプ]
  1. ^ GDI+” (英語). MSDN ライブラリ. マイクロソフト. 2009年2月22日閲覧。
  2. ^ Platform SDK Redistributable: GDI+” (英語). ダウンロードセンター. マイクロソフト (日付(YYYY-MM-DD)). 2009年2月22日閲覧。

関連項目

外部リンク


gdi++

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2010/03/26 19:02 UTC 版)

gdi++(じーでぃーあいぷらすぷらす)は、Windows 2000/XPにおいて、フォントレンダリングエンジンを置き換え、フォントの入れ替えなどを伴うことなくアンチエイリアスのかかった滑らかな表示を実現するソフトウェアである。このソフトは現在オープンソースで公開され、作者のWebサイトよりダウンロードすることができる。名前の「++」は、開発最初期において、適用するアプリケーションのバイナリの "gdi32.dll" の文字を直接 "gdi++.dll" のように書き換えていたために、サイズが同じで見分けが付きやすい文字列として選ばれたことによるもの。

目次

開発履歴

初期のバージョンでは、GDIによりあらかじめ大きめのサイズでラスタライズされたフォントを縮小するという手法が取られていたが、現在ではレンダリングエンジンにFreeTypeを利用した派生版が有志の手によって開発されている。 また、最初期に用いられていたアプリケーションのバイナリを直接書き換える方法は、APIフックによりレンダリングエンジンを置き換える方法へと変更された。

評価など

Windows Vistaではシステムの標準フォントがメイリオに置き換えられ、システムフォントにアンチエイリアスがかかるように改良されたが、gdi++はそれと類似したレンダリングをWindows 2000Windows XPで実現できるという点が評価され、「先取り」という表現は適切ではない[1]ものの2006年窓の杜大賞で「Windows Vista先取り賞」を獲得した。

ただし、Windows Vista/Windows XP標準のClearType(アンチエイリアス機能)とgdi++の提供するアンチエイリアス機能は同等なものではない。 使用するフォントや個人の好みにもよるが、gdi++を用いたレンダリングはVistaでのメイリオフォントによるものよりも良好なレンダリング結果が得られる[2]と評されている。

脚注

  1. ^ 日本語版WindowsにおいてXP以前で標準となっているMSフォント(MS ゴシック/MS 明朝など)では、内蔵のビットマップフォントが優先的に使用され、ClearTypeの恩恵を受ける機会自体が稀な為にその様な印象を受けるが、ビットマップを内蔵しないフォントのレンダリングに関してWindows Vista/Windows XPの違いは無い
  2. ^ ClearTypeは横方向のみのアンチエイリアス処理であるが、gdi++では縦方向にもアンチエイリアス処理がかかることも関係している

外部リンク





固有名詞の分類



GDIに関連した本

GDIに関係した商品


GDIのページへのリンク
「GDI」の関連用語
GDIのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「GDI」を見る
_ _   


GDIのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
日本国際保健医療学会日本国際保健医療学会
Copyright (C) by Japan Association for International Health. All rights reserved,2012.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのGDI (改訂履歴)、Graphics Device Interface (改訂履歴)、gdi++ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2012 Weblio RSS