ImageList の基礎

Image List に画像を登録します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. Image List は画像を Images.Add() メソッドで登録して、インデックス(登録番号)で呼び出します。
    主にツールバーやリストビューなどにアイコンを張り付けるときに使用します。
    Image List の画像サイズは、大きさを統一(1~256ピクセル)しなければなりません。
    画像サイズの既定値は 16*16(小さなアイコン)に設定されています。
    元の画像サイズが大きい(または小さい)ときは、設定されたサイズに縮小・拡大されます。
    今回は画像サイズを 128*128 に設定しています。
    imglist.ImageSize = new Size(128, 128);
  2. 三個のアイコン画像を Image List に登録して並べて描画して見ました。
    C:\DATA\Test\ のフォルダーに Icon01.ico, Icon02.ico, Icon03.ico を格納しておいて下さい。
    プロジェクトの設定は Form を作成する を参照して下さい。
    完成したプログラムなので Command Line から Windows プログラムを実行 でもOKです。
    /************************************/
    /*★ Image List の基本    前田 稔 ★*/
    /************************************/
    using System.Windows.Forms;
    using System.Drawing;
    
    class MyForm : Form
    {
        ImageList   imglist;
        string[]    Files =
        { "C:\\DATA\\Test\\Icon01.ico", "C:\\DATA\\Test\\Icon02.ico", "C:\\DATA\\Test\\Icon03.ico" };
    
        public MyForm()
        {   imglist = new ImageList();
            imglist.ImageSize = new Size(128, 128);
            for (int i = 0; i < Files.GetLength(0); i++)
            {   imglist.Images.Add(new Bitmap(Files[i]));  }
            Width = 600;
            Height = 200;
            Paint += new PaintEventHandler(MyHandler);
        }
    
        private void MyHandler(object sender, PaintEventArgs e)
        {
            for (int i = 0; i < imglist.Images.Count; i++)
                imglist.Draw(e.Graphics, (i*140)+20, 10, i);
        }
    }
    
    class form01
    {   public static void Main()
        {   MyForm mf = new MyForm();
            Application.Run(mf);
            MessageBox.Show("プログラムを終了します","Message Box");
        }
    }
    
  3. 次のソースコードが画像を描画するコードです。
    imglist に登録された imglist.Images.Count で示す枚数の画像を並べて描画します。
    描画する座標は (i*140)+20, 10 です。
        for (int i = 0; i < imglist.Images.Count; i++)
            imglist.Draw(e.Graphics, (i*140)+20, 10, i);
        
  4. アイコン画像に代えて、Jpeg 画像を描画してみました。
    元の画像サイズはバラバラですが、128*128 のサイズに拡大・縮小して登録されます。
        string[]    Files =
        { "C:\\DATA\\Test\\ayu.jpg", "C:\\DATA\\Test\\geos.jpg", "C:\\DATA\\Test\\kishi.jpg" };
        
  5. Windows(C++) でも同様のプログラムを作成しています。
    超初心者のプログラム入門(Windows)から Image List を参照して下さい。
    リンクがエラーになるときは「前田稔の超初心者のプログラム入門」から辿って下さい。

超初心者のプログラム入門(C# Frame Work)