AndroidGraphics2DTutorialでは、アプリケーションのメインとなるActivityを定義しています。例によって、Menu、Content Menu、Dialog、Custom Dialog、ButtonなどのUIコントロールが異なります。LeadBee Graphics 2D APIは、様々な基本的な図形、パス、テキスト、適切なフォント、イメージを統一された方法で処理するモバイルプラットフォーム用のグラフィックスエンジンを実装しています。 つまり、Graphics 2D APIは、Java SEに対応するものと同様の2次元グラフィックス・ライブラリAPIを実装しています。
主な機能は以下の通り:
- 様々な基本図形をサポート:曲線、長方形、楕円など。
- グラフィック、テキスト、イメージの衝突検出をサポート
- カラーサポートとカラーマネジメントの強化
- 図面の品質管理
- 塗りつぶし、縁取り、様々な線画
- 2Dグラフィックスの変形
- ベクターフォント
- 左から右、右から左、上から下の表示スタイル
- アンチパターニング
- 透明度のサポート
- アイコンとグラフィック
詳細は、 Silverlight Lead Bee 2D Graphics Library exampleを参照してください。
Android開発チュートリアルIX:アプリケーションフレームワークの作成 」では、すべてのサンプルアクティビティの親クラスとして、基本クラスGraphics2DActivityを定義しました:
public abstract class Graphics2DActivity extends Activity{
protected Graphics2D graphics2D
=SharedGraphics2DInstance.graphics2d;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
protected abstract void drawImage();
public void onStart() {
super.onStart();
drawImage();
}
}
graphics2Dオブジェクトは、幅×高さの整数の2次元配列です。この配列の各値は32整数です。フォーマットはARGBで、透明度、赤、緑、青を表します。描画ボード上での描画操作はこれらの色の値を変更します。
抽象メソッド protected abstract void drawImage(); 異なるコンテンツを描画するために使用します。
com.pstreets.graphics2d.example.Colorsを修正し、Pilot Bee 2D Graphics Libraryを使用して異なる色を描画します。Java SEまたは.Net Frameworkを使用したことがある場合、Pilot Bee 2D Graphics Libraryが提供するAPIがそれらのAPIと非常に似ており、コードが非常に理解しやすいことがわかります。
public class Colors extends Graphics2DActivity{
protected void drawImage(){
/**
* The solid (full opaque) red color in the ARGB space
*/
Color redColor = new Color(0xffff0000);
/**
* The semi-opaque green color in the ARGB space (alpha is 0x78)
*/
Color greenColor = new Color(0x7800ff00,true);
/**
* The semi-opaque blue color in the ARGB space (alpha is 0x78)
*/
Color blueColor = new Color(0x780000ff,true);
/**
* The semi-opaque yellow color in the ARGB space ( alpha is 0x78)
*/
Color yellowColor = new Color(0x78ffff00,true);
/**
* The dash array
*/
int dashArray[] = { 20 ,8 };
graphics2D.clear(Color.WHITE);
SolidBrush brush=new SolidBrush(redColor);
graphics2D.fillOval(brush,30,60,80,80);
brush=new SolidBrush(greenColor);
graphics2D.fillOval(brush,60,30,80,80);
Pen pen=new Pen(yellowColor,10,Pen.CAP_BUTT,Pen.JOIN_MITER,dashArray,0);
brush=new SolidBrush(blueColor);
graphics2D.setPenAndBrush(pen,brush);
graphics2D.fillOval(null,90,60,80,80);
graphics2D.drawOval(null,90,60,80,80);
}
}
Colors Activityはとてもシンプルで、View以外のUIはありません。 UIを表示するには、"Back "を押してサンプルリストに戻ります。