1

源程序下载
1：用Image显示JPEG图片
在程序的uses中加入Jpeg单元，使用TImage中的Picture.LoadFromFile 方法装入JPEG格式图象文件。注意，不要使用Picture.Bitmap属性，Picture.Graphic属性却可以使用。TBitmap只能适合Bitmap格式的图象，而TGraphic是所有graphic objects的父类。
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, ExtCtrls, Jpeg;
//显示JPEG图片
procedure TForm1.Button1Click(Sender: TObject);
Var
AppPath : String ;
begin
AppPath := ExtractFilePath(Application.Exename);
Image1.Picture.LoadFromFile(AppPath+'Img\Beautiful.jpg') ;
end;
2：给MenuItem中添加Image
要给MenuItem添加Image，可以和ImageList配合使用，要显示的图片可以用ImageIndex来指定。在本程序中添加了一个MainMenu1 : TMainMenu，在MainMenu1里面添加了些菜单项，只有菜单二没有指定图片，和一个ImageList1: TImageList。在这个小的试验里面，Code没有多少，主要是设置属性。
//给ImageList1添加图标
procedure TForm1.Button2Click(Sender: TObject);
Var
TheBitmap : TBitmap ;
begin
TheBitmap := TBitmap.Create ;
TheBitmap.LoadFromFile(AppPath + 'Img\1.bmp') ;
ImageList1.Add(TheBitmap, nil) ;
TheBitmap.LoadFromFile(AppPath + 'Img\2.bmp') ;
ImageList1.Add(TheBitmap, nil) ;
TheBitmap.LoadFromFile(AppPath + 'Img\3.bmp') ;
ImageList1.Add(TheBitmap, nil) ;
TheBitmap.LoadFromFile(AppPath + 'Img\4.bmp') ;
ImageList1.Add(TheBitmap, nil) ;
TheBitmap.Free ;
end;
3：改变在MenuItem中的Image位置
在这个例子里面只是改变了菜单N021即菜单2中Image的位置，
procedure TForm1.N021DrawItem(Sender: TObject; ACanvas: TCanvas;ARect: TRect; Selected: Boolean);
var
TheBitmap : TBitmap;
begin
TheBitmap := TBitmap.Create;
ACanvas.TextOut(ARect.Left + 1, ARect.Top,(Sender as TMenuItem).Caption); //输出Caption
ImageList1.GetBitmap((Sender as TMenuItem).ImageIndex,TheBitmap); //从ImageList1中获得这个MenuItem的Bitmap
ACanvas.Draw(ARect.Left + ACanvas.TextWidth((Sender as TMenuItem).Caption) + 5,
ARect.Top,
TheBitmap); //Draw it
TheBitmap.Free;
end;
源程序下载