当前位置: 首页 > 编程语言 > C#

将XAML自定义控件保存为jpg - png文件分享

时间:2023-04-10 20:18:28 C#

C#学习教程:将XAML自定义控件保存为jpg/png文件.可以用wpf吗?怎么做?更新该对象是一个customControl,类似于Printdialog.Printvisual,但将我的控件UI保存为图像文件这是我要保存为图像的XAML。您可以使用此函数将Framework元素保存到PNG:publicvoidExportToPng(Uripath,FrameworkElementelement){if(path==null)return;//保存当前画布变换Transformtransform=element.LayoutTransform;//重置当前变换(如果缩放或旋转)element.LayoutTransform=null;//获取画布大小Sizesize=newSize(element.Width,element.Height);//测量和排列表面//非常重要element.Measure(size);element.Arrange(新矩形(尺寸));//创建渲染位图并将表面推送给它RenderTargetBitmaprenderBitmap=newRenderTargetBitmap((int)size.Width,(int)size.Height,96d,96d,PixelFormats.Pbgra32);renderBitmap.Render(元素);//创建用于保存图像的文件流使用(FileStreamoutStream=newFileStream(path.LocalPath,FileMode.Create)){//为我们的数据使用png编码器PngBitmapEncoderencoder=newPngBitmapEncoder();//将渲染的位图推送给它encoder.Frames.Add(BitmapFrame.Create(renderBitmap));//将数据保存到流中encoder.Save(outStream);}//恢复之前保存的布局element.LayoutTransform=transform;函数在此处进行了描述,我将其更改为采用您需要将路径和用户控件传递给它的任何框架元素。此处链接的文章提供了详细的解释。这个想法是渲染一个视觉对象。Visual是派生UI可见控件的类。摘录一下你应该感兴趣:以上是C#学习教程:将XAML自定义控件另存为jpg/png文件分享全文。如果对大家有用,需要详细了解C#学习教程,希望大家多多指教Follow—publicMemoryStreamGenerateImage(Visualvisual,intwidth,intheight,ImageFormatformat){BitmapEncoderencoder=null;开关(格式){caseImageFormat.JPG:encoder=newJpegBitmapEncoder();休息;caseImageFormat.PNG:编码器=newPngBitmapEncoder();休息;案例ImageFormat.BMP:encoder=newBmpBitmapEncoder();休息;案例ImageFormat.GIF:encoder=newGifBitmapEncoder();休息;案例ImageFormat.TIF:encoder=newTiffBitmapEncoder();休息;如果(编码器==null)返回null;RenderTargetBitmaprtb=this.RenderVisaulToBitmap(visual,width,height);内存流文件=新的内存流();encoder.Frames.Add(BitmapFrame.Create(rtb));编码器。保存(文件);返回文件;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: