Gravatar چیست ؟

یکی از مشکلات استفاده از آواتارها، اتلاف زمان در ثبت آواتارهای متعدد برای وب‌سایتهای مختلف می‌باشد که این مسئله باعث عدم رغبت بعضی از کاربران به استفاده از آن شده است. خوشبختانه با وجود سایت Gravatar.com این مشکل نیز حل شده است. Gravatar که از کلمات Globally Recognized Avatar به معنای آواتار شناخته شده جهانی گرفته شده است به شما این امکان را می‌دهد که با یک بار ثبت نام در این وب سایت و انتخاب تصویر دلخواهتان از آواتار خود در کلیه وبلاگ‌ها و وب‌سایتهای متصل به این سرویس استفاده نمایید.





پیش از هرچیز ابتدا باید آدرس ایمیل را Hash کنیم. برای اینکار ابتدا کلاس Cryptography را فراخوانی کنید.

using System.Security.Cryptography;

سپس تابع زیر را کپی کنید

        public static string HashEmailForGravatar(string email)
        {
            // Create a new instance of the MD5CryptoServiceProvider object.
            MD5 md5Hasher = MD5.Create();
            // Convert the input string to a byte array and compute the hash.
            byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(email));
            // Create a new Stringbuilder to collect the bytes
            // and create a string.

            StringBuilder sBuilder = new StringBuilder();
            // Loop through each byte of the hashed data
            // and format each one as a hexadecimal string.

            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }
            return sBuilder.ToString(); // Return the hexadecimal string.
        }

پس از آن باید آدرس فایل را دریافت کنیم، تابع زیر را کپی کنید

        private string load_gavatar(string email,int size)
        {
            // Convert emailID to lower-case
            string emailId = email.ToLower();
            // Get The Hash
            var hash = HashEmailForGravatar(emailId);
            // build Gravatar Image URL
            var imageUrl = string.Format("http://www.gravatar.com/avatar/{0}?size={1}", hash, size);
            // Return direct image location
            return imageUrl;
        }

سپس باید اشیاء زیر را در فرم خود قرار بدهید
Textbox -> txt_emailId
PictureBox -> pictureBox1
Button -> button1

در رویداد کلید، کد های زیر را بنویسید

pictureBox1.ImageLocation = load_gavatar(txt_emailId.Text,150);

عدد 150 نیز سایز نمایش عکس می باشد

موفق باشید

کپی با ذکر منبع
با تشکر