イメージ

Q
画像を扱う際の、リソース消費を抑えるポイントは?
[内容]
同一の画像を複数画面に表示させる場合の、リソース消費を抑えるコーディング方法を教えてください

A
[原因]
ImageLabelやImageButtonを複数用意し、すべて同じ画像(URL)を指定してSetImage()すると、 画像のロードが個々に発生し、SetImage()した数だけリソースを消費してしまいます。

[解決方法]
同一の画像を画面に複数表示させる場合は、Imageクラスを使用するとリソース消費を抑えることが出来ます。
Imageを利用すると、フォーム上にいくつ画像を表示させようとも、画像のリソースはImageオブジェクトの数しか消費せず、画像のロードも一度しか発生しないという利点があります。


[イメージ]
・ImageLabelやImageButtonに直接同じURLを指定してsetImageした場合
ファイル名(URL)を直指定した場合

・Imageにロードした後、それぞれImageから表示させた場合
imageから表示させた場合


[サンプルコード]

/* 画像をImageにロード */
Image Image1{
    LoadImage("Image.jpg");
}
            
/* Imageに読み込まれた画像をSetImage */
ImageLabel ImageLabel1 {
    X = 10;    
    Y = 10;
    Width = 60;    
    Height = 30;
    SetImage(^.Image1);
}
ImageLabel ImageLabel2 {
    X = 10;
    Y = 40;
    Width = 60;
    Height = 30;
    SetImage(^.Image1);
}
ImageLabel ImageLabel3 {
    X = 10;
    Y = 70;
    Width = 60;
    Height = 30;
    SetImage(^.Image1);
}
管理番号:BMP_P009
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ