荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (佐治·希尔【多情网虫无情网】), 信区: Program
标  题: 将JPEG格式文件转化为Windows墙纸
发信站: BBS 荔园晨风站 (Sun Mar 12 01:31:13 2000), 转信

资料整理·中国程序员网站


将JPEG格式文件转化为Windows墙纸

(长沙 汤文)

  JPEG是一种图像压缩标准,很多精美的图片都是采用这种格式标准,其特点是文件
体积较小,而且支持24位色深。但是,Windows9x只支持位图文件(即以bmp为扩展名的文
件)的墙纸。下面这个程序就是将以jpg或jpeg为扩展名的图片文件转化为位图文件,并
通过修改注册表的键值来通知Windows更换墙纸。本程序使用了一个Tform;一个
OpenPictureDialog用来让用户选择图片;三个SpeedButton;分别用来打开
OpenPictureDialog对话框,确定更换墙纸,退出程序。程序全部代码如下:
  unit Unit1;
  interface
  uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, registry, ExtDlgs, StdCtrls, Buttons;
  type
   TForm1 = class(TForm)
   SpeedButton1: TSpeedButton;
   SpeedButton2: TSpeedButton;
   SpeedButton3: TSpeedButton;
   OpenPictureDialog1: TOpenPictureDialog;
  procedure SpeedButton1Click(Sender: TObject);
  procedure SpeedButton2Click(Sender: TObject);
  procedure SpeedButton3Click(Sender: TObject);
   private
   { Private declarations }
   public
   { Public declarations }
   end;
  var
   Form1: TForm1;
  implementation
  {$R *.DFM}
  procedure TForm1.SpeedButton1Click(Sender: TObjnd;
  procedure TForm1.SpeedButton2Click(Sender: TObject);
  var
   reg: tregistry;{Tregistry对象在Registry单元中声明,需要在Uese 中引用
Registry单元}
   jpeg: tjpegimage;{Tjpegimage对象在Jpeg单元中声明,需要在Uese 中引用
Jpeg单元}
   bmp: tbitmap;
  begin
   if (openpicturedialog1.filename=``)
   then {判断OpenPictureDialog1中有无文件被选中}
messagedlg(`请选择一张图片`,mtinformation,[mbOK],0)
   else
   begin
   jpeg:=tjpegimage.Create;
   jpeg.LoadFromFile(openpicturedialog1.filename);{加载被用户选中的文件}
   bmp:=tbitmap.Create;
   bmp.assign(jpeg);
   bmp.savetofile(`c:\windows\wall.bmp`);{将转换成功的文件保存的路径及文
件名}
   reg:=tregistry.Create;
  reg.rootkey:=hkey_current_user;{设置根键名称}
  reg.openkey(`control panel\desktop`,false);{打开Control Panel\Desktop路
径对应的主键}
   reg.writestring(`tilewallpaper`,`0`);
   reg.writestring(`wallpaper`,`c:\windows\wall.bmp`);
{覆盖并写入新值TileWall- paper和Wallpaper串}
  systemparametersinfo(spi_setdeskwallpaper,0,nil,spif_sendchange);{通知
win-dows更换墙纸}
  reg.closekey;{写入更改内容并关闭注册表}
   reg.Free;{释放对象}
   close;
   end;
  end;
  procedure TForm1.SpeedButton3Click(Sender: TObject);
  begin
   close;
  end;
  end.
  此程序只能将以jpg或jpeg为扩展名的图片文件转化为Windows的墙纸,因此应在
OpenPictureDialog控件的Filter属性中筛选显示文件的类型,最好设置为JPEG Image
 File(*.jpg)和JPEG Image File(*.jpeg)文件。程序在中文Windows98,Delphi 4.0
下编译通过。
--
        那你可不可以教我,
        有什么办法可以不去喜欢一个人呢?

                -- Bye 赤明莉香 --
 我是来自大富翁的小美!^_^

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店