برای اینکه بتوانیم jpg را به بک گروند خود کنیم باید ابتدا آنرا به bmp تبدیل کنیم
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Bmp : TBitmap;
Jpg : TJPEGImage;
bmpfile,jpgfile:string;
begin
bmpfile:='wallpaper.bmp';
if (pos('.jpg',filelistbox1.FileName)<>0)or(pos('.JPG ',filelistbox1.FileName)<>0)then
begin
jpgfile:=filelistbox1.FileName;
Bmp := TBitmap.Create;
Jpg := TJPEGImage.Create;
jpg.LoadFromFile(jpgFile);
bmp.Assign(jpg);
bmp.SaveToFile(bmpFile);
SystemParametersInfo(SPI_SETDESKWALLPAPER ,0,pchar(bmpfile),SPIF_SENDCHANGE );
Bmp.Free;
Jpg.Free;
end
else
begin
bmp:=tbitmap.Create;
bmp.LoadFromFile(filelistbox1.FileName);
bmp.SaveToFile(bmpfile);
SystemParametersInfo(SPI_SETDESKWALLPAPER ,0,pchar(bmpfile),SPIF_SENDCHANGE );
bmp.Free;
end;
end;
کد تبدیل از کد تبدیل bmp به jpg آقای کشاورز الهام گرفته شده