delphi利用流制作可执行电子贺卡

时间:2010-01-28 08:41:10  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:ile,而现在要做的是如何把图像读出并显示。我们用前面的Cjt_LoadFromFile先把图片读出来保存为文件再调入也是可以的,但是还有更简单的方法,就是直接把文件流读出来显示,有了流这个利器,一切都变的简单了。  现在的图片比较流行的是BMP格式和JPG格式。我们现在就针对这两种图片写出读取并显示函数。
  正文:我们经常看到一些电子贺卡之类的制作软件,可以让你自己选择图片,然后它会生成一个EXE可执行文件给你。打开贺卡时就会一边放音乐一边显示出图片来。现在学了流操作之后,我们也可以做一个了。
  添加图片过程我们可以直接用前面的Cjt_AddtoFile,而现在要做的是如何把图像读出并显示。我们用前面的Cjt_LoadFromFile先把图片读出来保存为文件再调入也是可以的,但是还有更简单的方法,就是直接把文件流读出来显示,有了流这个利器,一切都变的简单了。
  现在的图片比较流行的是BMP格式和JPG格式。我们现在就针对这两种图片写出读取并显示函数。


Function Cjt_BmpLoad(ImgBmp:TImage;SourceFile:String):Boolean;
var
Source:TFileStream;
MyFileSize:integer;
begin
  Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
  try
    try
      Source.Seek(-sizeof(MyFileSize),soFromEnd);
      Source.ReadBuffer(MyFileSize,sizeof(MyFileSize));//读出资源
Source.Seek(-MyFileSize,soFromEnd);//定位到资源开始位置
ImgBmp.Picture.Bitmap.LoadFromStream(Source);
      finally
        Source.Free;
      end;
      except
        Result:=False;
        Exit;
      end;
      Result:=True;
    end;

  上面是读出BMP图片的,下面的是读出JPG图片的函数,因为要用到JPG单元,所以要在程序中添加一句:uses jpeg。


Function Cjt_JpgLoad(JpgImg:Timage;SourceFile:String):Boolean;
var
Source:TFileStream;
MyFileSize:integer;
Myjpg: TJpegImage;
begin
  try
    Myjpg:= TJpegImage.Create;
    Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
    try
      Source.Seek(-sizeof(MyFileSize),soFromEnd);
      Source.ReadBuffer(MyFileSize,sizeof(MyFileSize));
      Source.Seek(-MyFileSize,soFromEnd);
      Myjpg.LoadFromStream(Source);
      JpgImg.Picture.Bitmap.Assign(Myjpg);
      finally
        Source.Free;
        Myjpg.free;
      end;
      except
        Result:=false;
        Exit;
      end;
      Result:=true;
    end;

  有了这两个函数,我们就可以制作读出程序了。下面我们以BMP图片为例:
  运行Delphi,新建一个工程,放上一个显示图像控件Image1。在窗口的Create事件中写上一句就可以了:

Cjt_BmpLoad(Image1,Application.ExeName);

  这个就是头文件了,然后我们用前面的方法生成一个head.res资源文件。
下面就可以开始制作我们的添加程序了。全部代码如下: 《delphi利用流制作可执行电子贺卡》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12548.html


关键字:

关于《delphi利用流制作可执行电子贺卡》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td