InstantLab 1.0

InstantLab 1.0

测试已测试
语言语言 Objective-CObjective C
许可协议 BSD
发布最后发布2014年12月

未声明维护。



 
依赖项
BlocksKit~> 1.8
WCAlertView~> 1.0
ObjcAssociatedObjectHelpers~> 1.1
 

  • Impossible GmbH

Impossible Instant Lab 框架

使用此框架,您可以借助Impossible Instant Lab展示图像。

此框架只能在配备iOS 6或更高版本的iPhone和iPod touch上运行。为了提供最佳结果,您需要有一台有Retina显示屏的设备

用法

  • 通过将以下行添加到您的Podfile来将框架集成到您的项目中。

    pod 'InstantLab'
    
  • 导入头文件。

    #import <InstantLab/InstantLab.h>
  • 使用您的图像展示Instant Lab。

    - (IBAction)expose:(id)sender
    {
        UIImage *image = ...
        [IPInstantLab presentInstantLabWithImage:image];
    }

    如果您愿意,您可以跳过第一个步骤,使用方法-[IPInstantLab presentInstantLabWithImage:skipCropping:]来裁剪图像,并将YES作为第二个参数传递。

  • 享受您的照片吧!

组件

本节描述了框架的主要模块。只有当您想要深入探讨并直接与各个组件交互时才需要处理这些内容。这样做意味着您将离开受支持的路径。

图像在曝光过程中的标准流程包括四个步骤:

  • 裁剪图像
  • 优化图像并选择正确的曝光设置
  • 使用Instant Lab将图像曝光到即时胶片上
  • 最后确认,告知用户其照片的预期开发时间

每个步骤都由一个独立的控制器类表示。您可以 subclass 这些类或直接使用它们并传入适当的输入参数。

IPImageCropperViewController

此控制器表示图像的裁剪。它将图像裁剪为即时照片上图像的纵横比。

您可以使用方法-initWithImage:初始化实例,并传入您选择的图像。

IPOptimizationViewController

此控制器允许用户将基本图像滤镜(色调、对比度、伽玛)应用到图像上。这也是用户选择要在哪种胶片上展示哪种效果以及影响实际曝光过程时间的地方。

该类的初始化器也只接受一个图像-initWithImage:

IPExposureViewController

此类负责实际的曝光。它实现了一个状态机,该状态机通过将设备翻转下来触发。该状态机的图示可以在实现文件中找到。

您可以通过调用-initWithImage:exposureTime:filmIdentifier:来初始化该控制器。您已经看到,除了图像外,此方法还期望一个exposureTime(以秒为单位)和一个filmIdentifierfilmIdentifier是一个字符串,用于让用户了解特定胶片预期的开发时间。在这里传入nil或从InstaLabFilms.plist文件中选择一个即可。

示例

如果您不确定它是如何工作的,请查看我们提供的示例应用程序

授权

The MIT License (MIT)

Copyright (c) 2013 Impossible GmbH

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.