你好,所以我对每个人都有一个有趣的问题。我有一个WPF应用程序,它根据数据库数据和用户输入生成报告的html预览。我目前面临的困境是我有一个由C#创建的HTML画布,如下所示:
Canvas myCanvas = new Canvas();
myCanvas.Name = "cvsMyCanvas";
myCanvas.width = userDefinedByTtextBox;
myCanvas.height = userDefinedByTtextBox;
myCanvas.Visibility = Visibility.Collapsed //Don't show the canvas just yet
我的问题是如何将我本地保存的图像保存到画布上的特定位置的计算机上。 (即由C#生成并使用移动到功能的HTML图像标记对象)
(这是我认为它应该如何工作的一个粗略的例子,但这是我需要帮助的) 例如:
string htmlImage = "<img id=\"myImage\" src=\"C:\\Temp\\img.png\">";
htmlImage.moveTo(x,y);
...再次上面的代码就是我想要做的一个例子。如果有人能帮助我,那将是伟大的!如果我没有提供足够的信息,请告诉我,我会提供。
对于我正在尝试做的事情似乎存在一些混淆,很可能是我的缺点是缺乏解释,所以请允许我详细说明。我将图像保存在临时目录I的文件夹中。我正在运行一个WPF应用程序,它具有我用来显示HTML的WebBrowser控件。该WebBrowser中使用的HTML是在后面的C#代码中创建的。我正在尝试创建一个在WebBrowser中显示的画布,其中包含我保存在临时文件夹中的图像。我上面提供的代码显然不适用于我想要完成的任务,因为无法在C#中创建画布并在HTML中使用它。让我知道这是否有助于揭示这种困境,或者是否需要更多解释。
答案 0 :(得分:1)
如果要从C#生成HTML5代码,生成的HTML代码应如下所示:
context = canvas.getContext('2d');
var image = new Image();
image.src = <your path>;
image.onload = function() {
context.drawImage(image, x, y, w, y);
}
然后,只需将其存储在String或StringBuilder
中