最近のアクセス:
カテゴリ:Image オブジェクト
画像は GeneXus ナレッジベース内の組み込みオブジェクトです。これには、ナレッジベース内の必要な場所で使用できる画像の定義、および実際の画像が含まれています。ナレッジベース内で画像をオブジェクトとして扱うことには、次のような利点があります:
  • クロス参照が可能になり、どこで画像が使用されているのかが分かります。
  • 画像を、テーマおよび言語に依存させることができます。これにより、どちらか、または両方を変更すると、画像がすべて自動的に変更されます。
  • 使用する画像を含むオブジェクトをインポート/エクスポートできます。画像を含む zip ファイルを追加で作成する必要はありません。
画像は、 [ ファイル ] / [ 新規 ] / [ オブジェクト ] メニューコマンド (またはショートカット キーの Ctrl + N) を使用して作成できます。新しい画像を作成するのはほとんどの場合、プロパティの値を割り当てるなど、画像を選択する必要がある場合です。たとえば、Web パネル内で画像を表示するとします。この場合、 [ ツールボックス ] から [ 画像 ] コントロールをフォームにドラッグします。ここで、選択可能な画像 (ナレッジベースにすでにあるもの) の 1 つを選択するダイアログが開きます。以下にこのダイアログを示します。上部に [ フィルタ ] フィールドがあり、画像名の一覧が左側に、プレビューウィンドウが右側にあります。画像名の一覧の下には、ボタンが 2 つあります。

イメージ:4826.jpg

[ ファイルからインポート ] ボタンで、OS に格納されたファイルから新しい GeneXus 画像を作成できます。ボタンをクリックすると、ファイル選択画面が開きます。画像ファイルを選択すると、以下に示すような新しいダイアログが開きます。ここに作成する画像の基本情報を入力します。

イメージ:4828.jpg

ここで、この画像オブジェクトに割り当てる名前を入力し、ほかのダイアログオプションはそのままにします。既定の名前を使用する場合は、 [ OK ] をクリックして完了します。

外部の画像

ユーザーがコントロールしない画像もあります。たとえば、ほかの会社が所有する、インターネット上の画像を参照する必要がある場合や、社内のアプリケーション間で画像を共有する場合です。これらは外部の画像です。外部の画像は機能としては内部の画像と同じですが、実際の画像がナレッジベース内に格納されていません。ナレッジベース内にはアドレス (URL) のみが格納されています。

外部の画像の作成方法は、内部の画像を作成する場合とほぼ同じです。Web パネルのフォームに画像コントロールをドラッグすると、 [ 画像を選択 ] ダイアログが表示されます。 [ 新規外部画像 ] ボタンを選択すると、以下のような新しいダイアログが表示されます。画像の名前およびソース (画像の場所) を入力します。ソースは通常、「http://www.gxtechnical.com/main/images/evgx_xiv.gif」のような URL です。

イメージ:4829.jpg

外部および内部の画像

内部および外部の画像は、機能的には同じです。どちらも、環境設定やテーマ、ソースコード、プロパティと同じ要領で使用したり参照したりできます。この 2 種類の画像の違いは、内部の画像では、実際の画像がナレッジベースに格納されていますが、外部の画像では、実際の画像がある場所への参照だけが格納されていることです。内部の画像は自動的に管理されるため、設計時や実行時にアプリケーションが画像を使用できるような、画像の保存場所を考慮する必要はありません。外部の画像では、場所が変更された場合に、手動で処理する必要があります。

イメージ:4830.jpg

一方、内部の画像はより多くの格納領域を必要とし、外部の画像よりも大きなエクスポートファイルを生成します。

画像の管理

[ フォルダ表示 ] 内の [ 画像 ] ノードは、画像のツールウィンドウを開きます。詳細表示が有効な場合は、このウィンドウは下の図のようになります。Windows Explorer と同じように、一覧、サムネイル、詳細、および並べて表示する形式に切り替えることができます。

イメージ:4831.jpg

右側には [ プレビュー ] ウィンドウがあり、実際の画像がある場合は画像を表示します。外部の画像が選択されており、画像が見つからない場合 (画像があるはずの場所にないか、インターネット上にあるがインターネットに接続されていない場合) は表示されません。GeneXus では、外部の画像のキャッシュは保存されません。

画像を (ダブルクリック、コンテキスト メニューの [ 開く ] などによって) 開くと、新しいウィンドウが表示されます (下図参照)。次に、画像の実装方法について説明します。
 
GeneXus の画像は実際はコンテナです。コンテナは、各言語、テーマ、またはこれらの組み合わせにより、使用される実際の画像を保持しています。このため、現在の言語やテーマを変更すると、実際の画像が変更されます。コードを書き換える必要はありません。この機能を使用するには、 [ テーマによって画像が異なります ] チェックボックスをオンにします。これにより、下に示すように、ナレッジベース内の各テーマに実際の画像を追加できます。

イメージ:4832.jpg

同様に、 [ 画像は翻訳可能なテキストを持っています ] チェックボックスをオンにすると、ナレッジベース内の各言語に画像を追加できます。これは、画像内にテキストが含まれている場合に役立ちます。

実行時の画像の変更

コントロールが表示する実際の画像は、次のメソッドのうちの 1 つを使用して実行時に変更できます。
 
  • FromImage(<ImageName>)
ビットマップ データ タイプの変数および画像のコントロールに適用されます。<ImageName> は、ナレッジベース内に格納されている画像オブジェクトの名前です。&Bitmap がビットマップ データ タイプの変数である場合、その変数により表示される画像は次のコードによって MyNewImage に変更されます。
&Bitmap.FromImage(MyNewImage)
  • FromImage(<StringExpression>)
ビットマップ データ タイプの変数および画像のコントロールに適用されます。<StringExpression> は、実行時にナレッジベース内に格納された画像オブジェクトの名前として評価される必要があるエクスプレッションです。&Bitmap がビットマップ データ タイプの変数であり、&Image が「MyNewImage」という値を持つ文字変数である場合、この変数により表示される画像は次のコードによって MyNewImage に変更されます。
&Bitmap.FromImage( &Image)
  • FromLink(<StringExpression>)
ビットマップ データ タイプの変数および画像のコントロールに適用されます。<StringExpression> は、有効な画像の URL として評価される文字列のエクスプレッションです。このフォーマットは、LoadBitmap 関数と同等のものです。
  • Link()
画像オブジェクトに適用されます。現在の言語およびテーマ (該当する場合) 用の実際の画像へのリンクを含む文字列を返します。次に、例を示します:
TableControl.Background = BackgroundImage.Link()

画像のインポートおよびエクスポート

画像は標準のオブジェクトです。こちらで説明しているように、以前のバージョンからインポートする場合を除いて、画像は特別な処理をせずにエクスポートおよびインポートできます。
ナレッジベース内に画像を保持することで、GeneXus の 可用性およびナレッジの整合性が向上しています。

GeneXus によって自動的に使用された画像およびナレッジベースで画像オブジェクトとして管理された画像 

GeneXus アプリケーションは、ナレッジベースに含まれている一組の画像オブジェクトを使用します。GeneXus で開発されたアプリケーションの画像はすべて、ナレッジべース内で関連付けられている Image オブジェクトを変更する形で変更が可能です。
すべての画像への参照は、モデルのターゲットパスにある images.txt ファイルに記録されています。

サブページ
Created: 14/09/18 03:16 by Admin Last update: 15/01/09 02:12 by Admin
カテゴリ
Powered by GXwiki 3.0