GVKun编程网logo

单声道是否支持System.Drawing和System.Drawing.Printing?(单声道音频功能)

10

关于单声道是否支持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?(单声道音频功能)

单声道是否支持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这个类库,想要在.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.Drawingruntime.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的类库有哪些

小编给大家分享一下.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.Drawingruntime.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

.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC

对于处理图像并将用C#编写的Desktop Vista应用程序,您会推荐以下哪种技术(或者您推荐的组合:System.Drawing(GDI)vs System. Windows.Media vs Direct2D DirectWrite WIC.图像处理将涉及各种原始绘图,填充,使用文本,旋转,平移,缩放,直接使用指针处理像素数据.一般来说,上述技术在操作位图方面有多好?

此外,如果有人知道一个好的和详细的比较图表,列出了并排的不同功能和等价物,以及不支持的,这将是伟大的!例如,WPF和Direct2D中是否存在ColorMatrix等价物?例如,在研究了SharpDX对Direct2D的实现后,我留下的印象是即使微软将其定位为GDI的完全替代品,我也无法在Direct2D中找到所有GDI的功能.

另外,考虑到它是2014年,你会说至少对于图像处理(如果不是UI的一部分,WPF似乎是更好的选择),GDI在接下来的5年左右会好吗?或者我应该真的考虑使用所有3种技术,哪种方法效果最好?

谢谢.

解决方法

我目前在一个视觉密集型的C#/ WPF项目中工作,并且在 Python中使用图像处理做了一些最好的黑客攻击.

根据您的预期用途,我将使用以下方法:

>尽可能使用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的最佳解决方案

.net – XmlSerializer和System.Drawing.Color的最佳解决方案

System.Drawing.Color对象显然不会使用XmlSerializer序列化。什么是xml串行化颜色的最佳方式?
最简单的方法是使用它的心脏:
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的最佳解决方案等相关内容,可以在本站寻找。

本文标签:

上一篇Python:gettext不会在Windows上加载翻译(gettext python)

下一篇Pow在Windows上的替代品?(windows 替代)