当前位置: 首页 > news >正文

深圳手机端网站建设设计公司什么网络公司比较好

深圳手机端网站建设设计公司,什么网络公司比较好,浙江省建设工程质量安全协会网站,辽宁建设工程信息网首页官网再聊.NET解相机RAW格式照片上次我发了一篇文章《用.NET解索尼相机ARW格式照片》#xff0c;提到通过安装 SonyRawFileDecoder的方式#xff0c;然后调用 WindowsImagingComponents来解析 RAW格式文件。后来我经过进一步研究、探索#xff0c;发现还有更简单的办法。新的方法… 再聊.NET解相机RAW格式照片上次我发了一篇文章《用.NET解索尼相机ARW格式照片》提到通过安装 SonyRawFileDecoder的方式然后调用 WindowsImagingComponents来解析 RAW格式文件。后来我经过进一步研究、探索发现还有更简单的办法。新的方法实在是太简单、好用了相比之下我前一篇文章简直就是在“挖坑”。其实啥都不装什么相机都支持其实 Windows10自带了一个 RAW格式解码器也集成在 WindowsImagingComponents中通过 SharpDX.Direct2D1的几行代码可以将这个解码器的信息调出来// 安装NuGet包SharpDX.Direct2D1 using var wic new ImagingFactory2(); using var decoder new BitmapDecoder(wic, file, DecodeOptions.CacheOnDemand); string json JsonSerializer.Serialize(decoder.DecoderInfo, new JsonSerializerOptions { WriteIndented true }); Console.WriteLine(json); 运行结果如下为突出重点有少量删减{PixelFormats: [6fddc324-4e03-4bfe-b185-3d77768dc90d],ColorManagementVersion: 1.0.0.0\u0000,MimeTypes: image/3FR,image/ARI,image/ARW,image/BAY,image/CAP,image/CR2,image/CR3,image/CRW,image/DCS,image/DCR,image/DRF,image/EIP,image/ERF,image/FFF,image/IIQ,image/K25,image/KDC,image/MEF,image/MOS,image/MRW,image/NEF,image/NRW,image/ORF,image/ORI,image/PEF,image/PTX,image/PXN,image/RAF,image/RAW,image/RW2,image/RWL,image/SR2,image/SRF,image/SRW,image/X3F,image/DNG\u0000,FileExtensions: .3FR,.ARI,.ARW,.BAY,.CAP,.CR2,.CR3,.CRW,.DCS,.DCR,.DRF,.EIP,.ERF,.FFF,.IIQ,.K25,.KDC,.MEF,.MOS,.MRW,.NEF,.NRW,.ORF,.ORI,.PEF,.PTX,.PXN,.RAF,.RAW,.RW2,.RWL,.SR2,.SRF,.SRW,.X3F,.DNG\u0000,ContainerFormat: fe99ce60-f19c-433c-a3ae-00acefa9ca21,IsAnimationSupported: false,IsChromakeySupported: false,IsLosslessSupported: true,IsMultiframeSupported: false,Author: Microsoft Corporation\u0000,Version: 10.0.18362.1\u0000,SpecVersion: 1.0.0.0\u0000,FriendlyName: Microsoft Raw Image Decoder\u0000,ComponentType: 1,CLSID: 41945702-8302-44a6-9445-ac98e8afa086,SigningStatus: 1,VendorGUID: f0e749ca-edef-4589-a73a-ee0e626a2a2b, } 可见什么都不用装就已经支持了高达 36种 RAW格式文件索尼的 .ARW、佳能的 .CR2和 .CR3和尼康的 .NEF都在列——就可能就是为什么 Windows10可以直接打开相机的 RAW格式文件。使用上次文章中的同样代码即可将 .ARW格式文件转换为 jpeg// 依赖于WPF不用装NuGet包 var decoder BitmapDecoder.Create(new Uri(DSC05458.ARW), BitmapCreateOptions.None, BitmapCacheOption.Default); var transformedBitmap new TransformedBitmap(decoder.Frames[0], Transform.Identity); var jpg new JpegBitmapEncoder(); jpg.Frames.Add(BitmapFrame.Create(transformedBitmap)); using var stream new MemoryStream(); jpg.Save(stream); 上次还挖了个坑说如果是我一般会选择用 SharpDX而不是 WPF但我又没说 SharpDX的代码该怎么写这里面我将 SharpDX的代码贴出来运行效果完全一样// 安装NuGet包SharpDX.Direct2D1 using var wic new ImagingFactory2(); using FormatConverter converter LoadImage(wic, DSC00115.ARW); Util.Image(SaveToJpeg(wic, converter)).Dump(); static byte[] SaveToJpeg(ImagingFactory2 wic, BitmapSource source) {using var ms new MemoryStream();using (var encoder new JpegBitmapEncoder(wic, ms)){using (var frame new BitmapFrameEncode(encoder)){frame.Options.ImageQuality 0.7f;frame.Initialize();frame.WriteSource(source);frame.Commit();}encoder.Commit();}return ms.ToArray(); } static FormatConverter LoadImage(ImagingFactory2 wic, string file) {using var decoder new BitmapDecoder(wic, file, DecodeOptions.CacheOnDemand);decoder.Dump();var converter new FormatConverter(wic);converter.Initialize(decoder.GetFrame(0), PixelFormat.Format32bppPBGRA);return converter; } 代码中我加入了缩放运行上次的 .ARW文件后可以得出一样的 jpeg图片。跨平台没问题故名思义 WindowsImagingComponnets显然只有 Windows上才能运行。想跨平台读取相机 RAW格式文件就必须另找一个库—— Magick.NET其使用也非常简单甚至比 WIC更简单只要两行代码// 安装NuGet包Magick.NET-Q8-AnyCPU using var image new MagickImage(DSC00115.ARW); byte[] bytes image.ToByteArray(MagickFormat.Jpeg); 除了读取保存 Magick.NET还能缩放图片、转换 pdf、加水印、读取 Exif数据、无损压缩、绘图等功能具体功能可以参见https://github.com/dlemstra/Magick.NET/blob/master/docs/Readme.md。另外 Magick.NET还支持超过 200种图片格式其中甚至还包括 Photoshop的 psd文件。可以在这个链接中查看是否支持你所需要的格式https://imagemagick.org/index.php……更别它还可以跨平台。有一点需要注意它的 NuGet包有许多个初一看可能会一惊 这里可以说一下首先它有 Q8、 Q16和 Q16-HDRI三种版本Q8表示一个像素使用 8位颜色深度它占用内存最小Q16表示一个像素使用 16位颜色深度比 Q8多一倍Q16-HDRI则使用 32位浮点型来表示颜色比 Q16再多一倍正常使用建议 Q8即可有微单/单反修图需求的可以考虑 Q16/ Q16-HDRI。另外它还有 x86、 x64和 AnyCPU三个平台版本一般选 AnyCPU但注意 Magick.NET是基于本地代码因此它需要下载多个平台因此 AnyCPU大小( 45.34MB)比 x64 20.85MB大一倍。缺点有这么多优点还要什么自行车……其实它也是有缺点的有个明显的缺点就是性能慢。我测试了上次那张 ARW格式文件性能分析如下平均需要 3.7秒次数分配内存内存提高耗时143,918,7921,0803739243,884,9441603748343,966,0006643878444,015,928803778543,902,7844163747换成 WIC性能数据如下耗时只要 705毫秒明显快得多次数分配内存内存提高耗时111,939,0721,488713211,939,76810,256709312,013,8724,608705411,931,66496705511,919,384-25,968704总结如果你用 Windows10则什么都不用装就能体验到极致性能的 RAW解析工具因为系统自带了 MicrosoftRawImageDecoder。如果你想跨平台但不特别在意性能则可以使用开源的 Magick.NET它提供最便利的 API和最省心的功能、格式支持特别强大。但话又说回来 RAW这种东西一般都是骚操作才需要谁在意跨平台呢我也特意试了一下收费的 Aspose.Imaging但解析 RAW格式文件不是它的长项直接不支持。本想研究一下 libraw但它只提供了 C API——也不是不能用。正准备用 P/Invoke时刚正面就有了本文中的发现。喜欢的朋友 请关注我的微信公众号【DotNet骚操作】
http://wiki.neutronadmin.com/news/149628/

相关文章:

  • 洛阳做多屏合一网站wordpress电商平台
  • 公司建设网站费用属于什么费用东莞企业网站设计
  • 深圳网站外包公司网上商店的优势和缺陷
  • 购物网站类型昆明有网站的公司
  • 厦门 网站开发济宁北湖建设集团网站
  • 深圳网站建设哪家口碑好香精论坛
  • 兰州做网站客户山西省建设监理协会网站
  • 小米路由器3 做网站Wordpress怎么给图片加注引
  • 沈阳网站制作公司云蓝图福田搭建网站费用
  • 北京做网站哪个公司好wordpress 不带主题显示
  • 网站右侧二维码代码宝山宜昌网站建设
  • 网站建设需要注意哪些方面深圳龙岗有什么好玩的地方
  • 新网站建设信息在线建网址
  • 网站设计公司多少钱南京外包公司
  • 无形资产 网站建设seo引擎优化方案
  • 网站设计的公司蒙特温州建设诚信网站
  • 网站后台文章删了 怎么前台还有o2o商城网站开发
  • 网站的留言怎么做公司网站建设对公司的重要性
  • seo网站排名优化软件是什么有哪些做分析图用的网站
  • 制作网站的网站郑州最新通告
  • 模型下载网站开发流程个人网站有什么用
  • 企业网站的常见服务学校网站怎么做的好
  • 什么叫网站建设哪个网站可以做分期
  • 昆明网站建设天软科技seo有哪些作用
  • 湖南建设银行宣传部网站天津正规制作网站公司
  • 玩具网站设计重庆网站建设设计
  • 企业建站公司方案工业设计ai软件
  • 建设银行网站打不开别的网站可以吗wordpress设置静态访问
  • 盐城建设厅网站设计备案网站开发的外文文献
  • 做ppt的素材网站陕西建设工程信息网站