From the desktop I've only been able to change the background to one of the predefined images; same goes for the profile. Not finding any articles that relate specifically to those images.
Turns out that you have a few options.
The first option is to open up the *Portraits.config** and modify the list of pipe-delimited icons.
The second option I discovered is you can simply paste in a new url in the user manager. As seen below, I pasted in a public image url and it showed up upon refresh of the screen.
If using Sitecore PowerShell Extensions, you can update the profile portrait and desktop with the following script. Adapt to C# if you want to perform this in your own module. Looks like the wallpaper requires a local path.
$user = Get-User -Current $user.Profile.Portrait = "https://pbs.twimg.com/profile_images/562466745340817408/_nIu8KHX.jpeg" $user.Profile.SetCustomProperty("Wallpaper", "/sitecore/shell/themes/backgrounds/Field.jpg") $user.Profile.Save()
The third option may be as Owen described.
The backgrounds are taken from: \Website\sitecore\shell\Themes\Backgrounds You can drop an image in there and then you'll be able to select it in the Sitecore desktop. I don't know if there's a better way to get the image in to that folder be I coudn't see one.
Looking at the profile images now - will edit if I find anything :)
EDIT: It looks like this is coming from the Office.zip icons but I can't find how they're selected. I'll have another look later.