gpt4 book ai didi

C# - 使用互联网上的大量图像填充 ImageList

转载 作者:行者123 更新时间:2023-11-30 17:10:48 24 4
gpt4 key购买 nike

背景:我正在构建一个使用 Facebook API 的 C# Forms 应用程序。我的程序已经可以成功验证并检索 friend ID 和姓名的完整列表。我了解如何将这些添加到 ListView 控件中,这部分是成功的。当我的程序请求并接收到一个小的 JSON 文件时,这个过程只需几秒钟。

有了 friend ID 的集合,我就可以从 https://graph.facebook.com/USER_ID/picture 中获取每个 friend 的个人资料图片。 .

关于如何在添加图像键的同时将这些互联网来源的图像添加到我的 ImageList 中,以便我可以将它们链接到具有用户 ID 的 ListViewItem,有没有人有解决方案?

private void populate_Click(object sender, EventArgs e)
{
var fb = new FacebookClient(_aT);
dynamic friends = fb.Get("/me/friends");

// Populate the ImageList
ImageList avatars = new ImageList();

foreach (dynamic item in friends.data)
{
var src = "https://graph.facebook.com/" + item.id + "/picture";

// Add Image from src to avatars ImageList

}


}

请记住,我要处理大量图像。每张图片应为 50 x 50 的 JPG谢谢。

最佳答案

// Download the bitmap data using an instance of WebClient class.
using (WebClient webClient = new WebClient())
{
foreach (var url in urls)
{
byte[] bitmapData;
bitmapData = webClient.DownloadData(url);

// Bitmap data => bitmap => resized bitmap.
using (MemoryStream memoryStream = new MemoryStream(bitmapData))
using (Bitmap bitmap = new Bitmap(memoryStream))
using (Bitmap resizedBitmap = new Bitmap(bitmap, 50, 50))
{
// NOTE:
// Resized bitmap must be disposed because the imageList.Images.Add() method
// makes a copy (!) of the source bitmap!
// For details, see https://stackoverflow.com/questions/9515759/
imageList.Images.Add(resizedBitmap);
}
}
}

要增加 WebClient 类实例的超时,请查看 this answer .

关于C# - 使用互联网上的大量图像填充 ImageList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com