最近のアクセス:
Image データタイプ

このデータタイプの目的は、任意の形式の画像ファイル (jpg、bmp、png など) を格納または参照することです。
画像は、GeneXus でサポートされている任意のデータベースに格納できます。ファイルの名前やタイプ (jpg、bmp など) を指定する必要はありません。
画像は、ナレッジベース (FromImage メソッドを使用) と URL (ローカルまたはリモート、FromURL メソッドを使用) の両方であらかじめ定義された画像からロードできます。FromURL に送信した値がリモート URL の場合は、画像がダウンロードされて、挿入時にデータベースに保存されます。ローカルまたはリモートの場所に格納されている画像を参照するだけの場合は、 [ ImageURI ] プロパティを割り当てる必要があります。
したがって、Image データタイプで定義された変数または項目属性をフォームにドラッグすることで画像を表示できます。つまり、GeneXus が画像をレンダリングするので、ユーザーは操作する必要がありません。

プロパティ

ImageName 画像の名前を取得します (文字列)。
ImageType 画像のタイプを取得します。Image Type ドメインは画像の拡張子です。例: jpg、ico、png など。
ImageURI 画像の URL を設定/取得します。
Set
相対パス (現在のホストで解決される) を設定できます。
Web 上にある外部の画像の絶対パスを設定できます。
file://プロトコルでローカルパスを設定できます。
[ ImageURI ] プロパティを設定すると、画像が格納されている内部 Blob は空に設定されます。
例:
&image.FromImage(myImageWillbeErasedInNextLine)
&image.ImageURI = "http://www.myimages/image.jpg"
この場合、image.jpg はデータ内の画像になります。
Get
GeneXus は、常に画像の絶対 URL を返します。
*これらのプロパティには Smart Devices イベントからアクセスできません。

メソッド

FromImage(imageobjectname) [ Image オブジェクト ] パラメーターで指定した画像を現在のインスタンスにロードします。
このメソッドを呼び出すと、 [ ImageURI ] プロパティの値は次のようになります。
<imageobjectname>.<extension>
<imageobjectname>.<extension> は、テーマと言語に応じて GeneXus によって計算されます。
FromURL(imageURL) ImageURL パラメーターで指定した画像が含まれた現在のインスタンスをロードします。
これは、ImageURL パラメーターで指定した URI から、画像を格納している内部 Blob をロードする必要があるということです。
このメソッドを呼び出すと、 [ ImageURI ] プロパティには画像の絶対 URL が設定されます。
例:
&image.FromURL('www.myimage.com/company.jpg')
msg(&image.ImageURI)  // www.myimage.com/company.jpg を印刷
注: 画像は指定した URL からダウンロードされ、データベースに自動的に格納されます (項目属性にのみ適用)。
SetEmpty/IsEmpty 画像がない、または格納されている画像への参照がない場合に、True を返します。

1.構成する

ある会社で、従業員の写真を保存するとします。この場合、次のようにコードを記述します。
EmployeeId     Numeric(4.0)
EmployeeName   Character
EmployeeImage  Image
EmployeeImage フィールドに、任意の写真を保存できます (jpg、png など)。

2.ナレッジベースの既存の画像からデータベースに画像を挿入する

FromImage メソッドは、既存のナレッジベースから画像を抽出するときにのみ使用できます。CompanyNameImage というナレッジベースの画像があるとします。
この場合、次のようにコードを記述します。
&Company.CompanyId = 1
&Company.CompanyLogo.FromImage(CompanyNameImage)
&Company.Save()

3.既存の URL からデータベースに画像を挿入する

ファイルシステムまたは Web の URL に画像があり、その画像をデータベースに格納するとします。画像は file:///c:/myfolder/logo.jpg にあります (ローカル URL の場合は、サーバーからアクセスできる必要があります)。
&Company.CompanyId = 1
&Company.CompanyLogo.FromURL('file:///c:/myfolder/logo.jpg')
&Company.Save()

4.既存の画像からデータベースに参照を挿入する

次のような外部の画像を参照するとします。
&Company.CompanyId = 1
&Company.CompanyLogo.ImageURI = 'http://www.events.genexus.com/gxdis/style000001/s/00000000160000003715.jpg'
&Company.Save()

5.データベース内で Blob から画像に変換する方法

画像を格納するデータベースに多数の Blob 項目属性があり、新しいデータタイプを使用するとします。
この場合、項目属性の定義で Blob から画像に変更するだけで、GeneXus は [ FileType ] 、 [ FileTypeAttribute ] 、 [ FileNameAttribute ] プロパティを考慮して再編成を実行します。

6.プログラムで Blob から画像または画像から Blob に変換する方法

直接、画像に Blob を割り当てるか、Blob に画像を割り当てることができます。Blob から画像への変換は、Blob と [ FileType ] 、 [ FileTypeAttribute ] 、 [ FileNameAttribute ] プロパティの MIME タイプに応じて機能します。場合によっては、画像がユーザーインターフェースに表示されないこともあります。

7.データベース内で Char|VarChar から画像に変換する方法

データベース内の Character 項目属性に URL が含まれている場合があります。既存のデータを失うことなく、新しい Image データタイプを使用したいという場合はどうなるでしょうか?
GeneXus では、Char|VarChar から画像または画像から Char|VarChar に再編成できます。

データベース内の画像

画像は 2 つの個別フィールドとしてデータベースに格納されます。1 つは Blob で、もう 1 つは同じ名前の末尾に "_GXI" が付いた文字列です。このフィールドの構成については、SAC #31266 で説明します。

適用範囲

オブジェクト 項目属性、変数
言語 .NET、Java、Ruby (GeneXus X Evolution 3 まで)、Visual FoxPro (GeneXus X Evolution 3 まで)
   
 

参考情報

Image manipulation API









サブページ
Created: 14/09/18 03:08 by Admin Last update: 21/05/21 05:25 by Admin
カテゴリ
Powered by GXwiki 3.0