【问题标题】:How can i write string on WriteableBitmap?我如何在 WriteableBitmap 上写字符串?
【发布时间】:2011-03-25 06:49:20
【问题描述】:

我有一个 WriteableBitmap 并且希望用户能够在它上面进行绘制,就好像它是一个简单的位图一样。

我该怎么做?

【问题讨论】:

  • 您是在谈论在现有 WritableBitmap 之上呈现一串文本吗?
  • 是的 - 我需要在上面渲染一串文本。

标签: silverlight


【解决方案1】:

您可以在代码中设置 TextBlock 控件,使用字符串设置 Text 属性,并使用该 TextBlock 调用 WritableBitmap 的 Render() 方法。 TextBlock 永远不必在可视树上,但您​​必须在位图上调用 Invalidate() 才能显示文本。

private void RenderString(WriteableBitmap bitmap, string stringToRender)
{
    TextBlock textBlock = new TextBlock();
    textBlock.Text = stringToRender;

    // set font, size, etc. on textBlock

    bitmap.Render(textBlock, null);
    bitmap.Invalidate();
}

【讨论】:

  • 我没有使用 Silverlight,我收到以下错误:错误 1 ​​'System.Windows.Media.Imaging.WriteableBitmap' 不包含“渲染”的定义,并且没有扩展方法“渲染” ' 可以找到接受“System.Windows.Media.Imaging.WriteableBitmap”类型的第一个参数,并且错误 2“System.Windows.Media.Imaging.WriteableBitmap”不包含“Invalidate”的定义并且没有扩展方法“Invalidate” ' 接受类型为 'System.Windows.Media.Imaging.WriteableBitmap' 的第一个参数——这是因为我没有使用 Silverlight 吗?
  • @zetar 你需要 WriteableBitmapEx 库。 writeablebitmapex.codeplex.com
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多