private void UIElementToFile(UIElement ui_element)
{
//保存InkPresenter涂鸦板内绘画的图
WriteableBitmap _bitmap = new WriteableBitmap(ui_element,null);
// this.showIP.source = _bitmap;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "PNG Files (*.png)|*.png|All Files (*.*)|*.*";
sfd.DefaultExt = ".png"; sfd.FilterIndex = 1;
if ((bool)sfd.ShowDialog())
{
using (Stream fs = sfd.OpenFile())
{
int width = _bitmap.PixelWidth;
int height = _bitmap.PixelHeight;
EditableImage ei = new EditableImage(width,height);
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
int pixel = _bitmap.Pixels[(i * width) + j];
ei.SetPixel(j,i,(byte)((pixel >> 16) & 0xFF),(byte)((pixel >> 8) & 0xFF),(byte)(pixel & 0xFF),(byte)((pixel >> 24) & 0xFF));
}
}
//获取流 Stream png = ei.GetStream(); int len = (int)png.Length; byte[] bytes = new byte[len]; png.Read(bytes,len); fs.Write(bytes,len); MessageBox.Show("图片保存成功!"); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。