NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Processing(size関数の使い方)

size関数
 Processingにおけるsize関数は、表示ウィンドウの幅と高さのディメンションをピクセル単位で定義します。
 setup関数を持つプログラムでは、size関数はsetup関数内のコードの最初の行でなければなりません。

 組み込み変数の幅と高さは、この関数に渡されるパラメーターによって設定されます。たとえば、実行サイズ(640、480)はwidth変数に640、height変数に480を割り当てます。
 size関数が使用されない場合、ウィンドウには100 x 100ピクセルのデフォルトサイズが与えられます。size関数はスケッチ内で一度しか使用できず、サイズ変更には使用できません。
 processing3では、スクリーンの全面でスケッチを実行するには、古い方のサイズ(displayWidth、displayHeight)ではなく、fullScreen関数を使用します。

 最大幅と高さはオペレーティングシステムによって制限され、通常は実際の画面の幅と高さです。いくつかのマシンでは、現在の画面上のピクセル数になることがあります。つまり、ピクセル数が同じであるため、800 x 600の画面ではサイズ(1600,300)をサポートできます。これは大きく異なりますので、探しているものが得られるまでさまざまなレンダリングモードとサイズを試してみる必要があります。
 より大きなものが必要な場合は、createGraphicsを使用して、非表示の描画面を作成します。

 最小幅と高さは、各方向に約100ピクセルです。
 これは、WindowsmacOS、およびLinuxでサポートされる最小のものです。
 スケッチが異なるマシンで同じに実行されるように、最小サイズを適用します。
 レンダラーパラメーターは、使用するレンダリングエンジンを選択します。
 たとえば、3Dシェイプを描画する場合は、P3Dを使用します。
 既定のレンダラーに加えて、他のレンダラーは表1の通りです。

表1:レンダリングエンジン一覧
項目内容
P2D (Processing 2D)OpenGL互換グラフィックスハードウェアを使用する2Dグラフィックレンダラー
P3D (Processing 3D)OpenGL互換グラフィックスハードウェアを使用する3Dグラフィックスレンダラー
FX2D(JavaFX 2D)JavaFXを使用する2Dレンダラで、一部のアプリケーションでは高速ですが、互換性のいくつかの特徴があります。
PDFPDFレンダラーは、2DグラフィックスをAcrobat PDFファイルに直接描画します。これにより、高解像度の出力や印刷にベクター形状が必要な場合に優れた結果が得られます。ライブラリを使用するには、まずライブラリのインポート→PDFを使用する必要があります。詳細については、PDFライブラリのリファレンスを参照してください。

 processing3.0では、size関数のパラメータとして変数を使用するには、setup関数の代わりにsettings関数内にsize関数を配置します。
 これに関する詳細はsettings関数のリファレンスページにあります。

 Processingで使用するsize関数の使い方は以下の通りです。
イメージ 4
   
size(150, 200, P3D);  // P3Dレンダラーを指定する
background(153);
 
// P3Dでは、z(深さ)の値を使用できます...
line(0, 0, 0, width, height, -100);

line(width, 0, 0, width, height,-100);

line(0, height, 0, width, height,-100);

 
//...3D固有の関数(box()など)
translate(width/2, height/2);
rotateX(PI/6);
rotateY(PI/6);
box(35);
イメージ 3
図1:プログラムの内容

イメージ 1
図2:プログラム実行結果

size関数の構文
 size(width, height)
 size(width, height, renderer)

size関数のパラメータ
 width 表示ウィンドウの幅(ピクセル単位、int)
 height 表示ウィンドウの高さ(ピクセル単位、int)

size関数の戻り値
 void

イメージ 1イメージ 3
励みになりますのでよければクリック下さい(^o^)/



この商品は、Amazon.co.jp が販売、発送します。 ギフトラッピングを利用できます。