• 图片拍摄、处理、镜头应用


      

        这部分包含几部分内容:图片捕获、编辑处理、镜头应用、保存分享上传。下面所指的高像素图片特指的是

    使用 Nokia lumia 1020 的 4100万大尺寸传感器拍摄的 3800 和 3400像素的图片。

    图片捕获:

       你有两种策略实现在你的应用中实现捕获相片的功能。

       使用手机已有的捕获功能

       当在你的应用中,捕获照片不是核心的功能,你可以考虑使用 Camera Capture Task 去拍照,而不是自己配合相机 APIs

    直接绘制相机界面。详细查看  How to use the camera capture task for Windows Phone(MSDN)。也可以参考使用

    了 CameraCaputreTask 的示例应用的代码  Filter Explorer。这种方式有几种好处:

    —很小的工作量

    —可靠一致的用户体验

    —使用 CameraCaptureTask 所分配的内存不会算入你的应用占用的内存,从而减少你的应用的内存占用

    —经过 PureView 处理过的非常高质量的 500万的照片(具有高像素传感器的设备上)

       实现一个自定义的相机 UI

       如果你想为照片捕获实现自己的相机 UI 和取景器来捕获相片(PhotoCaptureDevice),像 Advanced Photo Capturing

    中描述的 。这种方式你可以:

    —全面的掌控

    —能够实现你想要的拍照参数的调整

    —避免临时使用的照片被保存到手机相册中

    —直接在你的应用的 UI 中捕获照片而不是打开一个新的捕获页面

    —能够获得原始的高像素图片(在高像素传感器的设备上)

         无论如何都有一个权衡。而且有很多工作需要做,特别是捕获和处理高像素的图片

         关于高像素的图片,你可能想要实现自己的拍照 UI,你不必拍摄高像素的相片去做

    额外的处理。你同样可以使用相机捕获的有很高质量的“低像素”的照片(比如500万超采样图片)。

          无论如何你应该知道在 Nokia lumia 1020 上,如果你通过 PhotoCaptureDevice 捕获的500万的图片

    将会有很高的质量,但是不如通过使用 CameraCaptureTask 捕获的相同尺寸的图片更好,因为本地相机

    会做很多额外的处理,不仅仅是超采样。另外,如果你使用 PhotoCaptureDevice 捕获了一张最大分辨率的

    图片,这有一些方法来可以使用(详细请看Capturing high resolution photos),但是你的照片经过调整尺寸后

    不会像本地相机拍摄的相同尺寸的照片好,除非你很专业或者有很棒的算法。如果你想使用那种方法我们写了一些

    指导和一些示例  Working with high resolution photos.

     

    处理和编辑 照片/图片

        无论你是自己捕获的照片,从图片库选取的图片或者其他的来源的图片,并且想对它做一些事情,下面有一些编辑图片的方法。

        为此 nokia 推荐你使用 Nokia Imaging SDK,这是一个在手机设备上高效处理图片数据的类库。包括的特性

    包括编码、解码 JPEG 格式的图片,添加各种滤镜,剪切,旋转,调整尺寸。这个 SDK 提供超过 50 种的预置的专业滤镜,

    具有很高的速度和性能。这个库经过了尽可能的优化,并且不需要解码整张图片来获取图片上的任何一部分数据。这意味着你可以

    为高像素图片添加各种效果而不需要担心你的内存会泄露。

         这是一种方便处理各种尺寸图片的方式,这里有一些使用 Nokia Imaging SDK 的特殊的技巧 processing (high resolution) photos.

    除了优化缩放和裁剪,这个话题同时讨论了如何在设备上呈现高像素图片。

    获取和保存照片/图片

         从哪里获得图片,把图片保存到哪里,通常是 媒体库 和 本地存储里面,可以参考实例文档  How to use the photo chooser
    task
    (MSDN) 和 Saving to the media library and the local folder (MSDN).

          无论怎样,如果你想处理高像素的图片,在Accessing and saving (high resolution) photos 中描述了一些规则和技巧。

    其中格外建议图片的双保存,即把高像素的图片版本保存到本地存储里,把低像素的图片保存到媒体库。其他的指导包括:

     —怎样使保存的两个版本图片保持关联

    —怎样保持本地存储干净

    —怎样通过使用富媒体扩展的编辑选择器来提供给用户一种简单的方式把用户从图片库导航到

    你的应用程序,并且匹配获取之前保存的高像素原图。这也鼓励了用户打开你的应用来获取这些图片。

         上述的很多实践(和在Working with high resolution photos 中描述的实践)是有效的,甚至

    没有使用高像素图片。

    把相片/图片分享到在线服务

       在  How to use the share media task for Windows Phone (MDSN).  中提到了如何分享媒体文件。分享

    高像素的图片 本质上和把图片保存到照片库是相同的,你需要把要分享的图片进行缩小,实际上

    如果你使用 ShareMediaTask 进行分享,它需要这张图片是位于图片库中的,所以你需要首先把它保存在那。

    唯一的区别是(不是指特定的高像素图片)依赖于你要分享的服务,你可能会更积极的把图片进行压缩。在实际应用

    中,像 Processing (high resolution) photos 中描述的,在 Nokia Imaging SDK 中只是简单的参数的更改。

     创建一个镜头应用程序

       Windows Phone 8引入了一个新的类的应用程序:镜头。用户可以从内置的摄像头应用程序通过提供一个取景器按钮

    切换到另一个相机应用的用户体验。获取更多信息: Lenses for Windows Phone 8 (MSDN).把应用程序声明为一个

    镜头选取器应用是非常简单的,像在  Advanced Photo Capturing 文章中进行了简明的描述。

    照片可扩展性

       扩展照相的体验正像Photo extensibility for Windows Phone (MSDN) 中描述的。扩展性在你的应用

    中不仅很有用,同时鼓励用户使用你的应用。在  Accessing and saving (high resolution) photos文章中描述

    了如何集成为手机富媒体和照片编辑选择器应用。这个功能也集成到了示例应用程序  Photo Inspector 中。

    诺基亚 WiKi 原文链接:http://developer.nokia.com/Resources/Library/Lumia/#!imaging.html

  • 相关阅读:
    Vue中调用另一个组件中自定义事件
    docker下安装MySQL
    docker下安装Redis
    .NET Core简介
    Object(Asp.NET核心机制内置对象汇总)
    .NET MVC5简介(六)HttpHandler
    .NET MVC5简介(五)管道处理模型IHttpModule
    hibernate有什么作用
    hibernate编写时没有提示
    触发器insert
  • 原文地址:https://www.cnblogs.com/hebeiDGL/p/3314109.html
Copyright © 2020-2023  润新知