Condividi tramite


GravatarImageSource

Un Gravatar (un "avatar riconosciuto a livello globale") è un'immagine che può essere usata su più siti Web come avatar, ovvero un'immagine che ti rappresenta. Ad esempio, un Gravatar può identificare una persona in un post del forum, in un commento di blog e così via. (È possibile registrare il proprio Gravatar sul sito Web di Gravatar all'indirizzo http://www.gravatar.com/.) Se vuoi visualizzare immagini accanto ai nomi o agli indirizzi di posta elettronica delle persone, puoi usare GravatarImageSource.

Sintassi

Inclusione dello spazio dei nomi XAML

Per usare il toolkit in XAML, è necessario aggiungere le informazioni seguenti xmlns nella pagina o nella visualizzazione:

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

Di conseguenza:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

</ContentPage>

Verrà modificato in modo da includere l'oggetto xmlns come indicato di seguito:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">

</ContentPage>

Uso di GravatarImageSource

Nell'esempio riportato di seguito viene illustrato come usare GravatarImageSource:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
    <VerticalStackLayout>
        <Image>
            <Image.Source>
                <toolkit:GravatarImageSource
                    CacheValidity="1"
                    CachingEnabled="True"
                    Email="youremail@here.com"
                    Image="MysteryPerson" />
            </Image.Source>
        </Image>
    </VerticalStackLayout>
</ContentPage>

Il codice C# equivalente è il seguente:

using CommunityToolkit.Maui.ImageSources;

partial class MyPage : ContentPage
{
	public MyPage()
	{
        Image myImage = new()
        {
            Source = new GravatarImageSource()
            {
                CacheValidity = TimeSpan.FromDays(1),
                CachingEnabled = true,
                Email = "youremail@here.com",
                Image= DefaultImage.MysteryPerson
            },
        };
		Content = myImage;
	}
}

Proprietà

Proprietà Type Descrizione
Validità cache TimeSpan La CacheValidity proprietà , di tipo TimeSpan, specifica per quanto tempo l'immagine verrà archiviata in locale. Il valore predefinito di questa proprietà è 1 giorno.
CachingEnabled bool La CachingEnabled proprietà , di tipo bool, definisce se la memorizzazione nella cache delle immagini è abilitata. Il valore predefinito di questa proprietà è true.
E-mail string? La Email proprietà, di tipo string?, specifica l'indirizzo di posta elettronica dell'account gravatar. Se non è impostato, viene eseguito il rendering dell'immagine Gravatar. Se impostato e non trovato in Gravatar, verrà eseguito il rendering dell'immagine della Image proprietà.
Immagine DefaultImage La Image proprietà , di tipo DefaultImage è un'enumerazione utilizzata per specificare l'immagine predefinita se email non viene trovato in Gravatar.

Queste proprietà sono supportate da BindableProperty oggetti, il che significa che possono essere destinazioni di data binding e stili.

Impostare la validità della cache

La CacheValidity proprietà è un TimeSpan oggetto che specifica per quanto tempo l'immagine verrà archiviata in locale.

Nell'esempio seguente viene impostata la validità della cache di un oggetto GravatarImageSource:

<Image>
    <Image.Source>
        <toolkit:GravatarImageSource CacheValidity="1" />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource()
    {
        CacheValidity = TimeSpan.FromDays(1),
    },
};

Impostare la memorizzazione nella cache abilitata

La CachingEnabled proprietà è un oggetto bool che definisce se la memorizzazione nella cache delle immagini è abilitata.

L'esempio seguente imposta la memorizzazione nella cache su abilitata per un oggetto GravatarImageSource:

<Image>
    <Image.Source>
        <toolkit:GravatarImageSource CachingEnabled="True" />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource()
    {
        CachingEnabled = true,
    },
};

Impostare un messaggio di posta elettronica

La Email proprietà è un valore nullable string. Se la proprietà è null o vuota, viene eseguito il rendering dell'immagine Gravatar predefinita. Se l'indirizzo di posta elettronica non ha un'immagine Gravatar corrispondente, viene eseguito il rendering dell'immagine della Image proprietà.

L'esempio seguente imposta un indirizzo di posta elettronica con un'immagine Gravatar corrispondente:

<Image>
    <Image.Source>
        <toolkit:GravatarImageSource Email="dsiegel@avantipoint.com" />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource()
    {
        Email = "dsiegel@avantipoint.com",
    },
};

L'esempio seguente non imposta un indirizzo di posta elettronica e visualizzerà quindi l'immagine gravatar predefinita.

<Image>
    <Image.Source>
        <toolkit:GravatarImageSource />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource(),
};

L'esempio seguente imposta un indirizzo di posta elettronica senza immagine Gravatar corrispondente e visualizzerà quindi l'immagine predefinita Image .

<Image>
    <Image.Source>
        <toolkit:GravatarImageSource Email="notregistered@emailongravitar.com" />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource()
    {
        Email = "notregistered@emailongravitar.com",
    },
};

Impostare l'immagine predefinita

La Image proprietà è un'enumerazione utilizzata per specificare l'immagine predefinita se l'indirizzo email non ha un'immagine Gravatar corrispondente. Le opzioni disponibili sono:

  • MysteryPerson (impostazione predefinita) - Un semplice contorno in stile cartone animato di una persona (non varia in base all'hash di posta elettronica)
  • FileNotFound - Non caricare alcuna immagine se nessuna è associata all'hash di posta elettronica, ma restituisce invece una risposta HTTP 404 (File non trovato).
  • Identicon - Modello geometrico basato su un hash di posta elettronica.
  • MonsterId - Un 'mostro' generato con colori, volti diversi, ecc.
  • Wavatar - Visi generati con caratteristiche e sfondi diversi.
  • Retro - Incredibile visi in stile Arcade a 8 bit.
  • Robohash - Un robot generato con colori, volti e così via.
  • Blank - Immagine PNG trasparente.

Nell'esempio seguente viene impostata l'immagine predefinita di un oggetto GravatarImageSource:

<Image>
    <Image.Source>
        <toolkit:GravatarImageSource Email="notregistered@emailongravitar.com" Image="Retro" />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource()
    {
        Email = "notregistered@emailongravitar.com",
        Image = DefaultImage.Retro
    },
};

Impostare le dimensioni dell'immagine

Per impostazione predefinita, GravatarImageSource le immagini vengono presentate a 80 px per 80 px. Le dimensioni delle immagini possono essere comprese tra 1px e 2048px e vengono ricavate dalle proprietà delle dimensioni della visualizzazione padre. Le immagini gravatar sono quadrate e verranno acquisite le dimensioni maggiori delle proprietà delle dimensioni definite.

Nell'esempio seguente vengono impostate le dimensioni del controllo immagine e quindi le dimensioni dell'immagine Gravatar richiesta saranno 73 px.

<Image WidthRequest="72" HeightRequest="73">
    <Image.Source>
        <toolkit:GravatarImageSource Email="dsiegel@avantipoint.com" />
    </Image.Source>
</Image>

Il codice C# equivalente è il seguente:

Image myImage = new()
{
    Source = new GravatarImageSource()
    {
        Email = "dsiegel@avantipoint.com",
    },
    HeightRequest = 72,
    HeightRequest = 73,
};

Esempi

È possibile trovare esempi di questo controllo in azione nell'applicazione di esempio .NET MAUI Community Toolkit.

API

È possibile trovare il codice sorgente per GravatarImageSource over nel repository GitHub di .NET MAUI Community Toolkit.