- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WPF中将Canvas转为位图
WPF中将Canvas转为位图
????? 在WPF中我们可以将Canvas当成一种画布,将Canvas中的控件当成元素,讲其转成位图文件:
如下效果
?
????????????????????????
??????????????????????????????????????????????????????? ?图1.1
?????? 你可以设置Canvas的宽度、高度和颜色类型,生成任何你想要的图片。实时呈现你设置的样式等效果。
?????? 包括创建一些特效如阴影等。
?
WPF提供RenderTargetBitmap类将任何容器控件渲染成一个位图。
?
??????? 新建一个WPF项目,在页面中创建一个CANVAS,如下:??????
1????????????Canvas?x:Name=Screen?Width=700?Height=200?Background=#F0CC0000???????????2?????????????????TextBlock?Canvas.Left=200?Canvas.Top=50?x:Name=VSSize?text=Canvs?转换为图片/TextBlock???????????????3????????????/Canvas
?
????????在CS代码中做处理:
?1?RenderTargetBitmap?bmp?=?new?RenderTargetBitmap(this.Screen.Width,?this.Screen.Height,?96,?96,?PixelFormats.Pbgra32);?????2?bmp.Render(this.Screen);??????3?string?file?=?@c:\xxx.jpg;??????4?string?Extension?=?System.IO.Path.GetExtension(file).ToLower();??????5?BitmapEncoder?encoder?=?new?JpegBitmapEncoder();??????????????6?encoder.Frames.Add(BitmapFrame.Create(bmp));??????7?using?(Stream?stm?=?File.Create(file))?????8?{?????????9?encoder.Save(stm);????10?}????????????
?
???????? 这样就将CANVAS转换成图1.1的效果;
???????? 如果你对生成的图片有更高的清晰度的要求,你可以设置encoder的QualityLevel属性来改变JPEG的质量值,或者生成质量更高的PNG图片,如?
?
1?encoder?=?new?PngBitmapEncoder();????????????
?
?
???????? 我们改变下CANVAS的一些属性,将一个名为SCREEN的CANVAS 放在另一个CANVAS中并设置上偏移50,设置如下:?
?
代码
Canvas?Canvas?Canvas.Top=50?x:Name=Screen?Width=700?Height=200?Background=#F0CC0000??????????????????TextBlock?Canvas.Left=200?Canvas.Top=50?x:Name=VSSize?text=Canvs?转换为图片/TextBlock????????????????/Canvas/Canvas
?
?????????? 后台CS代码不变;
?????????? 效果如下:
?????????图片上出现一条黑块,将此图片放入PHOTOSHOP中可看见居上偏移50为一透明块,证明任何属性的偏移对CANVAS的构图都会造成影响。
?
???????? 那么直接在后台CS文件中建一个CANVAS直接生成位图是否可以?如下:
?1?Canvas?cvs?=?new?Canvas();?2?cvs.Width?=?700;?3?cvs.Height?=?200;?4?Label?lb?=?new?Label();?5?lb.content?=?Canvas?转换为?图片;?6?Canvas.SetTop(lb,50);?7?Canvas.Setleft(lb,200);?8?cvs.child.add(lb);?9?RenderTargetBitmap?bmp?=?new?RenderTargetBitmap(cvs.Width,?cvs.Height,?96,?96,?PixelFormats.Pbgra32);
您可能关注的文档
- TCN124P-M015-GY04艉管环氧浇注工艺.doc
- UG实体练习.ppt
- 2册M5-U2.ppt
- wentworth医疗中心案例报告.doc
- §6-6反馈校正的设计.ppt
- 三、邓小平简答.doc
- LN2000_DCS_详细介绍.ppt
- 万能问题解决法.ppt
- 与全等有关的几何证明.doc
- 七桥翁湿地公园调查报告.ppt
- 第5课 控制系统的三个环节(教学设计)2023-2024学年五年级下册信息科技浙教版.docx
- 2024-2025学年高中历史必修三北师大版教学设计合集.docx
- 2024-2025学年初中音乐九年级下册苏少版(2024)教学设计合集.docx
- 2024-2025学年初中信息技术(信息科技)七年级上册川教版(2019)教学设计合集.docx
- 2024-2025学年高中地理必修二鲁教版教学设计合集.docx
- 【新课标】Unit 2 What time is it整体单元教学设计.docx
- 2024-2025学年初中信息技术(信息科技)八年级上册滇人版(2016)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)四年级上册西师大版教学设计合集.docx
- 2024-2025学年高中地理选择性必修2中图中华地图版教学设计合集.docx
- 2024-2025学年初中信息技术(信息科技)八年级上册湘电子版(2019)教学设计合集.docx
文档评论(0)