4D v16.3

TRANSFORM PICTURE

ホーム

 
4D v16.3
TRANSFORM PICTURE

TRANSFORM PICTURE 


 

TRANSFORM PICTURE ( picture ; operator {; param1 {; param2 {; param3 {; param4}}}} ) 
引数   説明
picture  ピクチャー in 変換するソースピクチャ
in 変換した結果のピクチャ
operator  倍長整数 in 行う変換のタイプ
param1  実数 in 変換パラメタ
param2  実数 in 変換パラメタ
param3  実数 in 変換パラメタ
param4  実数 in 変換パラメタ

説明   

TRANSFORM PICTURE コマンドは、picture引数に渡したピクチャに、operatorタイプの変換を適用するために使用します。

Note: このコマンドはピクチャ変換演算子 (+/ 等, ピクチャ演算子 の節参照) で提供される機能を拡張します。これらの演算子は4D でも利用可能です。

コマンド実行後、ソースpictureは 直接更新されます。一部の操作は可逆的で、反対の処理を行うか“Reset”処理を行うことで元に戻すことができます。例えば、1%に縮小されたピクチャ は後で100倍することで、変換されることなく元のサイズに戻せます。変換は元のピクチャタイプを変更しません。例えばベクタピクチャは変換後もベクタピ クチャです。

operatorには実行する処理を示す数値を渡し、paramには処理に必要なパラメタを渡します。必要なパラメタの数は処理により異なります。 "Picture Transformation" テーマの定数をoperatorに指定できます。処理とパラメタの説明は以下のとおりです:

operator (値)param1param2param3param4キャンセル可
Reset (0)-----
Scale (1)高さ--係数可能
Translate (2)X軸Y軸-ピクセル可能
Flip horizontally (3)-----可能
Flip vertically (4)-----可能
Crop (100)X座標Y座標高さピクセル不可
Fade to grey scale (101)- - - --不可
Transparency (102)RGBカラー---16進数不可
  • Reset: ピクチャに対して実行されたすべてのマトリクス処理 (scale, flip等) が取り消されます。
  • Scale: param1param2に渡された値に基づき、ピクチャは水平および垂直方向にサイズ変更されます。これらの値は係数です。例えば幅を50%拡げるにはparam1に1.5を渡します。高さを50%縮めるにはparam2に0.5を渡します。
  • Translate: ピクチャは水平方向にparam1ピクセル、垂直方向にparam2ピクセル移動されます。右方向あるいは下方向に移動するには正数を、左方向あるいは上方向に移動するには負数を渡します。
  • Flip horizontallyFlip vertically: 元のピクチャは反転されます。事前に実行された移動は考慮されません。
  • Crop: ピクチャは、param1param2座標 (ピクセル) を開始位置として、切り取られます。新しいピクチャの幅と高さをparam3param4で指定します。この処理は取り消すことができません。
  • Fade to grey scale: ピクチャはグレースケールに変更されます。引数は必要ありません。この処理は取り消すことができません。
  • Transparency: param1 に渡したカラーに基づいてピクチャに対して透明マスクが適用されます。例えば、param1 に0x00FFFFFF (白)を 渡すと、オリジナルのピクチャ内の全ての白いピクセルは変換されたピクチャでは透明になります。このオペレーションはビットマップもしくはベクターのピクチャーに対して適用する事ができます。デフォルトでは、param1 引数を省略した場合には白(0x00FFFFFF)がターゲットカラーとして設定されます。この機能は、廃止されたPICTフォーマットのピクチャから変換されたピクチャでの透明度を扱うために特別に設計されたものですが、どんなタイプのピクチャに対しても使用する事ができます。この変換は取り消す事ができません。

以下はピクチャ切り取りを行う例題です (ピクチャはフォーム上で “トランケート (中央あわせなし)” フォーマットで表示されています):

 TRANSFORM PICTURE($vpGears;Crop;50;50;100;100)

ピクチャの白い部分を透過にしたい場合を考えます。このためには、以下のコードを使用します:

 TRANSFORM PICTURE(Pict1;Transparency;0x00FFFFFF) //0x00FFFFFF は白のカラーコード

結果は以下の様になります:



参照 

COMBINE PICTURES
ピクチャ演算子

 
プロパティ 

プロダクト: 4D
テーマ: ピクチャ
番号: 988

 
履歴 

初出: 4D v11 SQL
変更: 4D v14 R2

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)