mono-logo Downloads | Daily snapshots | Screenshots | Documentation | Bugs | Blogs

これはMono ProjectのWebサイトを日本語訳したものです。翻訳の改善点などはAtsushi Enoまでご連絡下さい。翻訳ソースはNovell Forge上のプロジェクトに登録されています。

* Drawing

Monoは2つの描画機構を提供します。ひとつめはMicrosoftの System.Drawing API、ふたつめはCairo API です。

System.Drawing

MonoにおけるSystem.Drawingの実装はMicrosoft API互換になるよう設計されています。そのイメージモデルはPDF 1.4の文法を基にしたものにとても似ています。

われわれの実装はGDI+ C API(”GDI+ フラットAPI”とも呼ばれています)のC#ラッパーです。

Windows上では、MonoはOSに含まれるGDI+ライブラリを使用します。一方、Unix上ではわれわれがこのAPIの実装を提供しています。この作業は大変なのでAPIの実装にはCairoを用いています。

GDI+の実装は、mcs/class/System.Drawingディレクトリの中の、さらにgdiplusディレクトリの中にあります。パッケージのビルドにはCairoがインストールされている必要があります。

System.Drawingを実装しているC#コードは、Windows用とUnix用のビルドで同一です。

これは既存のMicrsosoft APIの実装であるため、アーキテクチャの変更はありません。

Mono.Cairo

Mono.Cairo.dllアセンブリはマネージアプリケーションにCairo APIを公開します。APIのマッピングはとても単純で、C APIのプログラミングモデルにかなり近いものになっています。

基盤となっているCairoのAPIの性質上、Mono.CairoのAPIはまだ確定したものではありません。Cairoの進展に合わせて見直されるでしょう。

webmaster@go-mono.com