私は私の側でテストサンプルを作成し、の画像を生成するために使用されるコードを見つけます。LiveChartは、AzureのBotアプリケーションで動作します。 LiveChartsとLiveCharts.Wpf NuGet
<package id="LiveCharts" version="0.9.7" targetFramework="net46" />
<package id="LiveCharts.Wpf" version="0.9.7" targetFramework="net46" />
次インストール
、あなたのボットアプリケーションプロジェクトを作成し、ボットアプリケーション(可能な場合にLiveChart用画像を生成するコードを入れてください新しいBotアプリケーションを再作成し、次のコードをテストして、それが正常に機能しているかどうかを確認してください。
string sfp = "";
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
var activity = await result as Activity;
// calculate something for us to return
int length = (activity.Text ?? string.Empty).Length;
sfp = System.Web.HttpContext.Current.Server.MapPath($"~/IMG/chart.png");
Thread STAThread = new Thread(() =>
{
var myChart = new LiveCharts.Wpf.CartesianChart
{
DisableAnimations = true,
Width = 600,
Height = 200,
Series = new SeriesCollection
{
new LineSeries
{
Values = new ChartValues<double> {1, 6, 7, 2, 9, 3, 6, 5}
}
}
};
var viewbox = new System.Windows.Controls.Viewbox();
viewbox.Child = myChart;
viewbox.Measure(myChart.RenderSize);
viewbox.Arrange(new System.Windows.Rect(new Point(0, 0), myChart.RenderSize));
myChart.Update(true, true); //force chart redraw
viewbox.UpdateLayout();
SaveToPng(myChart, "chart.png");
});
STAThread.SetApartmentState(ApartmentState.STA);
STAThread.Start();
STAThread.Join();
await context.PostAsync($"You sent {activity.Text} which was {length} characters1");
context.Wait(MessageReceivedAsync);
}
注:私のテストでは、IMG
フォルダをKudu Console経由で手動で作成し、コードでは作成しません。
Webチャットで
テストやボットにメッセージを送信し、サイトフォルダを確認し、画像chart.png
がKudu Consoleをchart.png
を介して生成されて見つけることができます
さらに、次のテストコードでクライアントに添付ファイルとして画像を送信すると、chart.pngをクライアント側で正常に表示できます。
var replymes = context.MakeMessage();
replymes.Attachments.Add(new Attachment()
{
Name = "chart.png",
ContentType = "image/png",
ContentUrl = "https://xxxx.azurewebsites.net/IMG/chart.png"
});
await context.PostAsync(replymes);
あなたはytouは紺碧のWebアプリケーションや紺碧のVMまたはコンテナの話アトレAzureのために配備言いますか? –
私はMicrosoft Bot Framework(Web API)でこのLiveChartライブラリを使用しており、それを紺色に配置しています。 –
チャートをイメージに変換し、送信者をボット内のユーザに変換しますか? –