Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - settare un immagine di un sito come sfondo ..
Forum - Delphi - settare un immagine di un sito come sfondo ..

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedė, 01/01/1970
Salve ,
sto cercando di settare un immagine come sfondo, io avevo pensato di scaricare direttamente su un tmemorystream per poi caricarlo direttamente sul desktop.
La prima fase č facile ,peccato che non riesco a trovare un modo per poter settare direttamente sulla memoria dell ' immagine del desktop tutto il contenuto della tmemorystream senza passare per file .
Qualcuno di voi mi sa dare una mano ?
ho provato con  questo codice ma non ha funzionato  :
Codice sorgente - presumibilmente Delphi

  1. var
  2.   Desktop: HDC;
  3.   MyCanvas: TCanvas;
  4.   MyRect: TRect;
  5.   bitmap:Timage;
  6. begin
  7.   Desktop := GetDC(GetDesktopWindow);
  8.   MyCanvas:= TCanvas.Create;
  9.     MyCanvas.Handle := Desktop;
  10.     MyCanvas.Draw(0,0,form1.Image1.Picture.Graphic);
  11.     MyCanvas.Refresh;


Premetto ho gia cercato su google!

PM Quote
Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Segnala al moderatore
Postato alle 23:48
Venerdė, 18/06/2010
non ho capito bene dove lo vuoi caricare poi lo sfondo, o meglio dove lo devi impostare se come sfondo del desktop e del form o di altro?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 12:27
Sabato, 19/06/2010
allora :
c'e un immagine su internet ... la carico in memoria .
Dopodiche io vorrei settare quell' immagine che risiede in memoria come sfondo del desktop senza dover per forza salvarla su file . Come posso fare?

PM Quote
Avatar
Irvine (Normal User)
Pro


Messaggi: 86
Iscritto: 27/03/2010

Segnala al moderatore
Postato alle 12:37
Sabato, 19/06/2010
prova con questa, al posto del percorso passa come paramentro l'immagine che hai creato ( che devi mettere in una varivile bitmap)

Codice sorgente - presumibilmente Delphi

  1. uses Windows, SysUtils;
  2. procedure SetWallpaper(const Filename: TFilename; Tiled: boolean);
  3. var
  4.   sTiled: string;
  5. begin
  6.   if Filename <> '' then begin
  7.     if tiled then sTiled := '1' else sTiled := '0';
  8.     SetRegistryData(HKEY_CURRENT_USER, '\Control Panel\Desktop',
  9.       'TileWallpaper', rdString, sTiled);
  10.   end;
  11.   SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
  12.     Pointer(Filename), SPIF_UPDATEINIFILE);
  13. end;



e alla fine richiama con questa:
Codice sorgente - presumibilmente Plain Text

  1. SetWallpaper('percorso immagine bitmap', true);



per dichiare la variabile bitmap:

Codice sorgente - presumibilmente Delphi

  1. var nomevariabile : bitmap;


PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:50
Sabato, 19/06/2010
Testo quotato

Postato originariamente da Irvine:

prova con questa, al posto del percorso passa come paramentro l'immagine che hai creato ( che devi mettere in una varivile bitmap)

Codice sorgente - presumibilmente Delphi

  1. uses Windows, SysUtils;
  2. procedure SetWallpaper(const Filename: TFilename; Tiled: boolean);
  3. var
  4.   sTiled: string;
  5. begin
  6.   if Filename <> '' then begin
  7.     if tiled then sTiled := '1' else sTiled := '0';
  8.     SetRegistryData(HKEY_CURRENT_USER, '\Control Panel\Desktop',
  9.       'TileWallpaper', rdString, sTiled);
  10.   end;
  11.   SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
  12.     Pointer(Filename), SPIF_UPDATEINIFILE);
  13. end;



e alla fine richiama con questa:
Codice sorgente - presumibilmente Plain Text

  1. SetWallpaper('percorso immagine bitmap', true);



per dichiare la variabile bitmap:

Codice sorgente - presumibilmente Delphi

  1. var nomevariabile : bitmap;




-.- ho detto senza salvare su file! ma parlo arabo? O.o

PM Quote
Avatar
Irvine (Normal User)
Pro


Messaggi: 86
Iscritto: 27/03/2010

Segnala al moderatore
Postato alle 14:59
Sabato, 19/06/2010
infatti, basta che quando richiami la procedura al posto di passargli il percorso passi l'immagine direttamente, a me funziona bene

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:26
Sabato, 19/06/2010
puoi postare il tuo codice plz ?

PM Quote