Silverlight 5如何设置从视频截图下来的WriteableBitmap的DPI

chenzd_119 2017-08-02 11:20:03
void CaptureSource_CaptureImageCompleted(object sender, CaptureImageCompletedEventArgs e)
{
// Set the ImageBrush source (defined in XAML) to the Result property

WriteableBitmap wBitmap = e.Result;
//如何设置他的DPI,找了好多类都没有找到

}

如何设置他的DPI,找了好多类都没有找到,求高手指教
...全文
465 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzd_119 2017-08-02
  • 打赏
  • 举报
回复
是不是Silverlight依赖的.NET框架的版本不同?
chenzd_119 2017-08-02
  • 打赏
  • 举报
回复
引用 6 楼 Libby1984 的回复:
WriteableBitmap 的构造函数怎么会没有呢,你上MSDN上查下



https://msdn.microsoft.com/zh-cn/library/system.windows.media.imaging.writeablebitmap.writeablebitmap(v=vs.95).aspx
确实没有
  • 打赏
  • 举报
回复
WriteableBitmap 的构造函数怎么会没有呢,你上MSDN上查下
chenzd_119 2017-08-02
  • 打赏
  • 举报
回复
引用 4 楼 Libby1984 的回复:
WriteableBitmap bitmap = new WriteableBitmap(wBitmap.PixelWidth, wBitmap.PixelHeight, 147, 147, wBitmap.Format, wBitmap.Palette); byte[] pixeldData = new byte[wBitmap.PixelWidth * wBitmap.PixelHeight * 3] // 注意如果你的图像时单通道数据这里不需要乘3,如果是带有透明度通道的则将乘3改为乘4,根据你的图像格式定 wBitmap.CopyPixels (pixeldData, wBitmap.PixelWidth *3, 0); // 如果你的图像时单通道数据这里不需要乘3,如果是带有透明度通道的则将乘3改为乘4,根据你的图像格式定 bitmap.WritePixels(new Int32Rect(0, 0, this.bitmap.PixelWidth, this.bitmap.PixelHeight), pixeldData, this.bitmap.PixelWidth * 3, 0);
没有这个 new WriteableBitmap(wBitmap.PixelWidth, wBitmap.PixelHeight, 147, 147, wBitmap.Format, wBitmap.Palette);构造函数,请问下您这个是Silverlight 5的类型吗,我怎么没有找到这个构造函数
  • 打赏
  • 举报
回复
WriteableBitmap bitmap = new WriteableBitmap(wBitmap.PixelWidth, wBitmap.PixelHeight, 147, 147, wBitmap.Format, wBitmap.Palette); byte[] pixeldData = new byte[wBitmap.PixelWidth * wBitmap.PixelHeight * 3] // 注意如果你的图像时单通道数据这里不需要乘3,如果是带有透明度通道的则将乘3改为乘4,根据你的图像格式定 wBitmap.CopyPixels (pixeldData, wBitmap.PixelWidth *3, 0); // 如果你的图像时单通道数据这里不需要乘3,如果是带有透明度通道的则将乘3改为乘4,根据你的图像格式定 bitmap.WritePixels(new Int32Rect(0, 0, this.bitmap.PixelWidth, this.bitmap.PixelHeight), pixeldData, this.bitmap.PixelWidth * 3, 0);
chenzd_119 2017-08-02
  • 打赏
  • 举报
回复
引用 2 楼 Libby1984 的回复:
你获得的图片的dpi是图片的固有属性,是固定的。 你可以重新new一个WriteableBitmap 设置dpi,然后将原来的图像像素数据拷贝到新的里面。
有代码参考下吗
  • 打赏
  • 举报
回复
你获得的图片的dpi是图片的固有属性,是固定的。 你可以重新new一个WriteableBitmap 设置dpi,然后将原来的图像像素数据拷贝到新的里面。
chenzd_119 2017-08-02
  • 打赏
  • 举报
回复
没人回复吗?

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧