AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX] 画像合成効果(NormalBlendEffect)2013/12/04
 
前回は [Effects]内の「非透過部の塗り潰し効果」(FillRGBEffect)について見てみました。次は同じく [Effects]内の「画像合成効果」(NormalBlendEffect)を見てみます。
 
 
[Effects]内
FMX
 
ヘルプより。
TNormalBlendEffect は、2 つの画像の標準ブレンド効果を作成するためのクラスです。
 
TNormalBlendEffect は表示オブジェクトのテクスチャに影響を及ぼします。詳細は、「TImageFXEffect」および「FireMonkey の画像効果」を参照してください。
 
標準ブレンドは、効果が適用されるオブジェクトのテクスチャと、Target プロパティで指定されたビットマップの間で行われます。Target が指定されない場合、TNormalBlendEffect の視覚効果はありません。Target の画像に透明な領域がない場合、オブジェクトの画像は Target で完全に覆われます。
 
コンポーネントに透過指定の画像ファイル(GIF/PNG形式)を重ねて表示する感じ?
 

 
Target
混ぜる 2 つ目のテクスチャを示します。
 
Target は、TBitmap 型です。Target が指定されない場合、TNormalBlendEffect に視覚的な効果は現れません。 Target イメージに透明な領域がなかった場合、オブジェクト イメージは完全に Target でカバーされます。
Trigger
トリガ条件を保有するプロパティ。
それぞれのトリガ条件は、プロパティ名、等号記号、トリガ値で構成されます。すべての組み込みトリガはブール値です。したがって、それらの値は True または False でなければなりません。 例:
IsMouseOver=true;IsPressed=false
トリガの値を設定は、 オブジェクト インスペクタで最も簡単に行えます。
トリガ説明
IsDragOverコントロールがドラッグされている(マウス ボタンがクリックされ、かつ押されたままになっている)際に、効果を発生させます。
IsFocusedコントロール上にフォーカスがある際に、効果を発生させます。
IsMouseOver マウスがコントロールの上を通過した際に、効果を発生させます(HitTest が True に設定されている必要があります)。
IsVisibleコントロールが画面上に表示されている際に、効果を発生させます。
その他の組み込みトリガには、以下のものがあります。
・IsActive(TCustomForm)
・IsChecked (TMenuItem)
・IsOpen (TEffect)
・IsPressed (TCustomButton)
・IsSelected(MenuItem、TTabItem、TListBoxItem、TTreeViewItem)
効果トリガに関するさらなる情報については、「FireMonkey の画像効果」の「効果のトリガ」を参照してください。
 
それでは少し試してみます。
 
フォーム上にイメージコンポーネント3つとボタンを配置します。
下図では、100×100ドットのBMPファイル(Image1)、GIFファイル(Image2)、JPEGファイル(Image3)=Windows7 標準のサンプルピクチャの「アジサイ.jpg」を指定しています。

 
このイメージに対して効果を掛けるようにします。
本コンポーネントを配置し、構造ビューでドラッグして、上記で配置したイメージの子になるようにします。
 
画像合成用の透過PNGファイルを2つ用意します。

左側が 50×50ピクセルのPNG画像で、右側が200×200ピクセルのPNG画像です。白色部分が透過指定となっています。まずは、左側の画像を合成させてみます。

次に、右側の画像を合成させてみます。

 
合成画像は、元画像の大きさに合わせて自動的にストレッチされるようですね。
 
合成画像が透過情報を持たない場合には、元画像が合成画像に差し替えられる状態になるようです。

 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/12/04
 2013/12/04
▼2013/12/04
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.