Masaüstü arka plan resmi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yskilic
Üye
Mesajlar: 44
Kayıt: 18 Haz 2003 12:55
Konum: İstanbul

Masaüstü arka plan resmi

Mesaj gönderen yskilic »

Arkadaşlar form üzerindeki bir butona basıldığı zaman içeriden vereceğim bir adresteki resmi veya opendialog tan da seçtireceğim resmi arka plana atamak yani duvar kağıdı yapmak için nasıl bir kod kullanmam gerekiyor.

varsa böyle birşey ayarlarını yapabiliyormuyoz. yani ekrana döşe, genişlet gibi ayarları kastediyorum.
Y.S.K.
Yazılım Sistemleri
yskilic
Üye
Mesajlar: 44
Kayıt: 18 Haz 2003 12:55
Konum: İstanbul

Mesaj gönderen yskilic »

mustafa bey bu kod çalışıyor ama benim bir sorunum var. bu kodla yalnızca bmp formatındaki resimleri kullanabiliyoruz. jpg formatındaki resimler için bildiğiniz bir yöntem var mı?
Y.S.K.
Yazılım Sistemleri
mavsar

Mesaj gönderen mavsar »

Selam

Öncelikle belirteyim ki Windows wallpaper olarak BMP kabul ediyor (Normalde Jpg vs seçebiliyoruz ama burada wallpaper için kullandığımız API nin bunun beklediğini bilmemiz gerekiyor.)

Eğer bir Jpg wallpaper olacak sa önce onu BMP ye convert edip. Sonra windowsa tanımlamak gerekir. Aşağıdaki kod bu convertion işlemini yapar.

Kod: Tümünü seç

procedure TForm1.ConvertJpgToBitmap(Jpeg: TJpegImage);
var
   bmp: TBitmap;
   dir: String;
begin
   dir := GetWindowsDir;
   bmp := TBitmap.Create;
   try
     Jpeg := TJpegImage.Create;
     Jpeg.LoadFromFile('somejpeg.jpg');
     with bmp do
     begin
       Width := Jpeg.Width;
       Height := Jpeg.Height;
       Canvas.Draw(0, 0, Jpeg);
       SaveToFile('somebmp.bmp');
       Free;
     end;
   finally
     Jpeg.Free;
   end;
end;
Burada

SystemParametersInfo(SPI_SETDESKWALLPAPER,0, nil, SPIF_SENDWININICHANGE);

komutunu bildiğini düşünüyorum..
Cevapla