关于单声道是否支持System.Drawing和System.Drawing.Printing?和单声道音频功能的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.NetCore上用于代替S
关于单声道是否支持System.Drawing和System.Drawing.Printing?和单声道音频功能的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.Net Core上用于代替System.Drawing的类库、.Net Core上用于代替System.Drawing的类库有哪些、.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC、.net – XmlSerializer和System.Drawing.Color的最佳解决方案等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 单声道是否支持System.Drawing和System.Drawing.Printing?(单声道音频功能)
- .Net Core上用于代替System.Drawing的类库
- .Net Core上用于代替System.Drawing的类库有哪些
- .net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC
- .net – XmlSerializer和System.Drawing.Color的最佳解决方案
单声道是否支持System.Drawing和System.Drawing.Printing?(单声道音频功能)
我试图使用Mono来加载一个位图,并在Linux上打印,但我得到一个exception。 Mono是否支持在Linux上打印? 代码/例外情况如下:
编辑:不再是例外,但我仍然好奇什么样的支持。 留下后代的代码什么的。
private void btnPrintTest_Click(object sender,EventArgs e) { _printDocTest.DefaultPageSettings.Landscape = true; _printDocTest.DefaultPageSettings.Margins = new Margins(50,50,50); _printDocTest.Print(); } void _printDocTest_PrintPage(object sender,PrintPageEventArgs e) { var bmp = new Bitmap("test.bmp"); // Determine center of graph var xCenter = e.MarginBounds.X + (e.MarginBounds.Width - bmp.Width) / 2; var yCenter = e.MarginBounds.Y + (e.MarginBounds.Height - bmp.Height) / 2; e.Graphics.DrawImage(bmp,xCenter,yCenter); e.HasMorePages = false; }
使用ScheduledTasks类删除预定作业
在取消button上需要第二次按下
第一次从代码访问Windows文件夹
如何判断Windows何时处于非活动状态
testing/debuggingShell Extension&Regasm&explorer.exe
如何在.NET应用程序中正确实现“以pipe理员身份”或“以pipe理员身份运行”选定的操作?
有效字幕文本颜色 – 检测变化(在.Net中)
GetSystemTimeZones缺lessGMT标准时间
exe_common.inl中的非法指令
确定窗口是否正在播放声音
从单声道文件 ,我认为是的:
Managed.Windows.Forms(aka System.Windows.Forms):一个完整的跨平台,基于System.Drawing的Winforms实现。
如果您首先运行Mono Migration Analyzer ,也很有用。
根据
System.Drawing现在已经完成,除了作为Windows.Forms的底层渲染引擎之外,它还经过了严格依赖于它的第三方控件的测试。
.Net Core上用于代替System.Drawing的类库
目前.Net Core上没有System.Drawing这个类库,想要在.Net Core上处理图片得另辟蹊径。
微软给出了将来取代System.Drawing的方案,偏向于使用一个单独的服务端进行各种图片处理
https://github.com/dotnet/corefx/issues/2020
https://github.com/imazen/Graphics-vNext
但目前仍然没有一个可用的实现。
下面我介绍一些目前确实可用于代替System.Drawing的类库,包括我发布的ZKWeb.System.Drawing
ImageProcessor
地址: https://github.com/JimBobSquarePants/ImageProcessor/
从3.0开始支持了.Net Core。
支持的很全面,如果只用于转换缩放图片,或手动处理像素的话可以最优先考虑这个类库。
但是不支持描画验证码等描画类的功能,在将来会支持,可见https://github.com/JimBobSquarePants/ImageProcessor/issues/264。
因为作者尚未把3.0发布到nuget,安装需要添加myget的源。
如何添加myget的源可以参考https://www.myget.org/nuget。
添加后使用nuget安装ImageProcessorCore
即可。
CoreCompat
地址: https://github.com/CoreCompat/CoreCompat
这个类库使用了mono的System.Drawing实现,只要安装了之前使用System.Drawing的代码完全不用修改。
也支持描画验证码等描画类的功能。
如果需要linux或osx支持,可以安装runtime.linux.CoreCompat.System.Drawing
和runtime.osx.10.10-x64.CoreCompat.System.Drawing
。
ZKWeb.System.Drawing
地址: https://github.com/zkweb-framework/zkweb.system.drawing
这个类库是我在使用CoreCompat后感到不满意而重新创建的一个类库,也是从mono的System.Drawing修改得来。
这个类库和CoreCompat的不同点如下
没有使用强名称,CoreCompat为了让程序集名称一样使用了一个伪造的签名,但是导致Asp.Net和Owin等会检查签名的旧项目启动失败
CoreCompat的项目如果直接下载编译会出现100多个错误,大多是类型找不到的错误,我也不知道作者是怎么编译过去的
这个项目从mono 4.6.1.13复制了所有需要的文件并修改,直接下载编译就可以通过可以使用dotnet test跑单元测试,目前通过率约为80%
实际在linux上测试过并且给出了各个发行版安装libgdiplus的命令,目前已测试
Ubuntu Server 16.04 LTS 64bit
Fedora 24 64bit
CentOS 7.2 64bit
不引用System.Drawing.Primitive,因为System.Drawing.Primitive在.Net Framework下同时引用了原来的System.Drawing,有可能导致编译时类型冲突(实测只有警告)
ZKWeb.System.Drawing这个类库在有更好的代替方案之前将会一直维护,如果使用中遇到问题或错误欢迎到项目地址提出issue。
原文地址:http://www.cnblogs.com/zkweb/p/5999205.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
本文分享自微信公众号 - dotNET跨平台(opendotnet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
.Net Core上用于代替System.Drawing的类库有哪些
小编给大家分享一下.Net Core上用于代替System.Drawing的类库有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
ImageProcessor
地址: https://github.com/JimBobSquarePants/ImageProcessor/
从3.0开始支持了.Net Core。
支持的很全面,如果只用于转换缩放图片,或手动处理像素的话可以最优先考虑这个类库。
但是不支持描画验证码等描画类的功能,在将来会支持,可见https://github.com/JimBobSquarePants/ImageProcessor/issues/264。
因为作者尚未把3.0发布到nuget,安装需要添加myget的源。
如何添加myget的源可以参考https://www.myget.org/nuget。
添加后使用nuget安装ImageProcessorCore
即可。
CoreCompat
地址: https://github.com/CoreCompat/CoreCompat
这个类库使用了mono的System.Drawing实现,只要安装了之前使用System.Drawing的代码完全不用修改。
也支持描画验证码等描画类的功能。
如果需要linux或osx支持,可以安装runtime.linux.CoreCompat.System.Drawing
和runtime.osx.10.10-x64.CoreCompat.System.Drawing
。
ZKWeb.System.Drawing
地址: https://github.com/zkweb-framework/zkweb.system.drawing
这个类库是我在使用CoreCompat后感到不满意而重新创建的一个类库,也是从mono的System.Drawing修改得来。
这个类库和CoreCompat的不同点如下
没有使用强名称,CoreCompat为了让程序集名称一样使用了一个伪造的签名,但是导致Asp.Net和Owin等会检查签名的旧项目启动失败
CoreCompat的项目如果直接下载编译会出现100多个错误,大多是类型找不到的错误,我也不知道作者是怎么编译过去的
这个项目从mono 4.6.1.13复制了所有需要的文件并修改,直接下载编译就可以通过可以使用dotnet test跑单元测试,目前通过率约为80%
实际在linux上测试过并且给出了各个发行版安装libgdiplus的命令,目前已测试
Ubuntu Server 16.04 LTS 64bit
Fedora 24 64bit
CentOS 7.2 64bit
不引用System.Drawing.Primitive,因为System.Drawing.Primitive在.Net Framework下同时引用了原来的System.Drawing,有可能导致编译时类型冲突(实测只有警告)
ZKWeb.System.Drawing这个类库在有更好的代替方案之前将会一直维护,如果使用中遇到问题或错误欢迎到项目地址提出issue。
看完了这篇文章,相信你对“.Net Core上用于代替System.Drawing的类库有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注小编行业资讯频道,感谢各位的阅读!
.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC
此外,如果有人知道一个好的和详细的比较图表,列出了并排的不同功能和等价物,以及不支持的,这将是伟大的!例如,WPF和Direct2D中是否存在ColorMatrix等价物?例如,在研究了SharpDX对Direct2D的实现后,我留下的印象是即使微软将其定位为GDI的完全替代品,我也无法在Direct2D中找到所有GDI的功能.
另外,考虑到它是2014年,你会说至少对于图像处理(如果不是UI的一部分,WPF似乎是更好的选择),GDI在接下来的5年左右会好吗?或者我应该真的考虑使用所有3种技术,哪种方法效果最好?
谢谢.
解决方法
根据您的预期用途,我将使用以下方法:
>尽可能使用WPF名称空间,即System.Windows.Media.据我所知,System.Drawing和GDI通常使用非托管资源,这可能会产生不希望的,可避免的问题;
>尽可能严格地使用MVVM架构.也就是说,您有一个仅用于显示信息的View层,以及包含业务逻辑的Model和viewmodel层.虽然有些人可能会说视觉内容不属于viewmodel层,但如果你的应用程序处理图像操作,那么你的业务逻辑就像定义一样与View相关(我花了很长时间才弄明白这一点).
>如有疑问,请使用多维数组(在Model / viewmodel中)执行图像处理,并将这些数组绑定到View(使用ValueConverter通过DataBinding).
这样,例如,您可以使用ImageLayerviewmodel类来表示Layer,其中Data属性(或Value或PixelArray或Raster,无论如何)是double [height,width,depth].
我可以详细说明一下,但我不确定是否正确回答你的问题,所以如果你愿意,可以写任何评论.
.net – XmlSerializer和System.Drawing.Color的最佳解决方案
String HtmlColor = System.Drawing.ColorTranslator.ToHtml(MyColorInstance);
它将只是将颜色转换为HTML使用的标准十六进制字符串,它们同样容易反序列化:
Color MyColor = System.Drawing.ColorTranslator.FromHtml(MyColorString);
这样你只是使用沼泽标准字符串…
关于单声道是否支持System.Drawing和System.Drawing.Printing?和单声道音频功能的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.Net Core上用于代替System.Drawing的类库、.Net Core上用于代替System.Drawing的类库有哪些、.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC、.net – XmlSerializer和System.Drawing.Color的最佳解决方案等相关内容,可以在本站寻找。
本文标签: