gpt4 book ai didi

c# - 我们如何通过 Windows 8 Share Charm 在 c# 中一次共享多个图像或图像与文本的组合

转载 作者:行者123 更新时间:2023-11-30 22:13:44 24 4
gpt4 key购买 nike

我有一个 Image Urls 列表,并希望通过 Windows 8 share charm 一次Share 这些图像 [来自每个 url] .

这是我一次共享一个WriteableBitmap Image的代码。

var dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += DataRequested;

public void DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
DataRequest request = args.Request;
DataRequestDeferral deferral = request.GetDeferral();
try
{
request.Data.SetBitmap(Windows.Storage.Streams.RandomAccessStreamReference.CreateFromUri(new Uri(ImageUrl)));
}
}


我们如何通过 Share Charm 一次分享多张图片
我们可以分享图片和文字的组合吗?
如果可能,请给我一个想法。

最佳答案

更新 1

下面的代码展示了如何通过共享 super 按钮共享多个图像 URL。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
var dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += DataRequested;
}

public void DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
var Images = new List<string>
{
"http://jenswinter.com/image.axd?picture=stackoverflow-logo-250.png",
"http://en.flossmanuals.net/thunderbird/getting-support/_booki/thunderbird/static/Thunderbird-Support-tbird_support_superuser-en.jpg",
"http://www.thomas-steinbrenner.net/wp-content/uploads/2010/11/Stackexchange_logo.png"
};

var res = GetHtml(Images);
DataRequest request = args.Request;

// The title is required. Otherwise it won't be shared.
request.Data.Properties.Title = "Multi Image via Share Charm Using HTML.";
DataRequestDeferral deferral = request.GetDeferral();
try
{
string htmlFormat = HtmlFormatHelper.CreateHtmlFormat(res);
request.Data.SetHtmlFormat(htmlFormat);
}
catch { }
finally { deferral.Complete(); }
}

private string GetHtml(List<string> ImageUrls)
{
string ImgTag = @"<img src='{0}' /><br />";
string Html = @"<html>
<head>
<title>Multi Image via Share Charm</title>
</head>
<body>
{0}
</body>
</html>";
string AllImgTags = "";
foreach (var url in ImageUrls)
{
AllImgTags += string.Format(ImgTag, url);
}

return string.Format(Html, AllImgTags);
}

如果所有内容都是 Internet URL,那么您可以通过从这些 URL 创建 HTML 文档来共享它。如果你有多个 StorageFile然后你可以分享给 DataPackage.SetStorageItems .它接受 IEnumerable<IStorageItem> .

DataPackage.SetBitmap 一次只接受一个位图,因为通常接受图像的目标应用程序主要处理单个图像。如果应用程序需要多个图像,那么我建议使用 DataPackage.SetStorageItems

关于c# - 我们如何通过 Windows 8 Share Charm 在 c# 中一次共享多个图像或图像与文本的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18891526/

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