Я хотел бы создать приложение facebook, подобное nametest или Meww, и почти преуспел в том, чтобы мои вызовы API API Facebook Graph и возвращали данные из facebook. Что меня пугает, является пользовательский интерфейс вышеупомянутых веб-приложений. Когда вы завершаете тест на Meww или Nametests, результат представляется пользователю в формате Image (Jpeg). Я просто не знаю, как им удается конвертировать HTML в изображение на лету со всеми стилями CSS и т. Д. И как они возвращают его пользователю в качестве изображения? Можно ли реализовать этот сценарий на практике в ASP.NET MVC Too? Если да, мне нужен намек.Есть ли способ сделать одно изображение из 3 URL-адресов изображений с помощью asp.net mvc?
Ниже изображено изображение, созданное в результате теста.
Edit: Чтобы быть более конкретными ... У меня есть public async Task<ActionResult> FB_Analyse()
действия в моем контроллере, который принимает данные из Facebook через Graph API вызов Facebook, а затем передать значение данных к модель и в то конец действий возвращает представление, как показано ниже:
public async Task<ActionResult> FB_Analyse()
{
var access_token = HttpContext.Items["access_token"].ToString();
if (!string.IsNullOrEmpty(access_token))
{
var appsecret_proof = access_token.GenerateAppSecretProof();
var fb = new FacebookClient(access_token);
#region FacebookUser Name and Picture plus other Info
//Get current user's profile
dynamic myInfo = await fb.GetTaskAsync("me?fields=first_name,last_name,link,locale,email,name,birthday,gender,location,age_range,about".GraphAPICall(appsecret_proof));
dynamic myinfojson = JsonConvert.DeserializeObject(myInfo.ToString());
ViewBag.UserName = myinfojson.name;
ViewBag.UserGender = myinfojson.gender;
//get current picture
dynamic profileImgResult = await fb.GetTaskAsync("{0}/picture?width=200&height=200&redirect=false".GraphAPICall((string)myInfo.id, appsecret_proof));
ViewBag.ProfilePictureURL = profileImgResult.data.url;
#endregion
dynamic myFeed = await fb.GetTaskAsync(
("me/feed?fields=likes{{name,pic_large}}")
.GraphAPICall(appsecret_proof));
string result = myFeed.ToString();
var jsonResult = JsonConvert.DeserializeObject<RootObject>(result);
var likes = new List<Datum2>();
foreach (var likeitem in jsonResult.data)
{
if (likeitem.likes != null)
{
foreach (var feedlikeitem in likeitem.likes.data)
{
likes.Add(feedlikeitem);
}
}
}
return view(likes);
}
Тогда мой взгляд у меня есть этот простой <div>
тег с изображениями, как показано ниже:
<div class="imageWrapper" style="position: relative">
<img class="girl img-responsive" src="~/images/TestPictures/mHiDMsL.jpg" style="position: relative; z-index: 1;" />
<img src="@ViewBag.Picture" alt=.. width="100" height="100" style="position: absolute;left:80px; top: 80px;z-index: 10;" />
<img src="@ViewBag.ProfilePictureURL" alt=.. width="200" height="200" style="position: absolute;left:300px; top: 160px;z-index: 11;" />
</div>
Как вы можете видеть, у меня есть три разных знака <img>
. Один из них - фон для двух других изображений, а два других - одно изображение пользователя Facebook, а второе - изображение пользователя пользователя facebook, которое помещено в верхнюю часть фонового изображения. То, что я хочу достичь, ясное, как голубое небо. Я хочу объединить эти три изображения в одном, а затем показать его пользователю как одно изображение.
Помогите, пожалуйста, потеряно.
Это полезно для объединения трех изображений в 1? http://stackoverflow.com/questions/6383123/merge-two-images-to-create-a-single-image-in-c-net – Pete
@ Поймите этот вопрос, они имеют дело с реальными фотографиями, но в моем случае я только имеют URL-адреса изображений, такие как www.somesite.com/images/home.png –
. Ах, вы можете создать изображение с URL-адреса, используя это: http://stackoverflow.com/questions/11801630/how-can-i-convert-image -url-to-system-drawing-image – Pete