原创 音頻 API 一覽

iOS 和 OS X 平臺都有一系列操作音頻的 API,其中涵蓋了從低到高的全部層級。隨着時間的推移、平臺的增長以及改變,不同 API 的數量可以說有着非常巨大的變化。本文對當前可以使用的 API 以及它們使用的不同目的進行簡要的概括。

原创 照片擴展

在 iOS 8 發佈時,蘋果把六種全新擴展功能介紹給全世界,它們史無前例的提供了訪問操作系統的可行性。現在,開發者可以利用照片擴展來爲系統相機應用增加功能。 用戶使用照片編輯擴展的流程並不簡單。從選擇編輯的照片開始,需要點擊三次才能啓

原创 XCTest 測試實戰

差不多四個月以前,我們團隊 (Marco, Arne 和 Daniel) 開始着手爲我們的新應用寫模型層。我們想在開發中使用測試,經過一番討論之後,我們選擇 XCTest 作爲我們的測試框架。 目前爲止,我們的編碼庫已經縱橫 190

原创 在 iOS 上捕獲視頻

隨着每一代 iPhone 處理能力和相機硬件配置的提高,使用它來捕獲視頻也變得更加有意思。它們小巧,輕便,低調,而且與專業攝像機之間的差距已經變得非常小,小到在某些情況下,iPhone 可以真正替代它們。 這篇文章討論了關於如何配置視

原创 音頻處理的狗屋

我不知道這種觀念是不是普遍的,但在北美,一個年輕而有抱負的木匠典型的項目是建立一個狗屋;當孩子對建築變得好奇,想要反覆折騰錘子,水平尺,鋸子時,他們的父母會指導他們做一個狗屋。在很多方面,狗屋對熱情的新手來說是理想的項目。項目大小足以鼓

原创 圖片格式

數據存儲 在計算機上存儲文本很容易。我們以字母或字符作爲一個基本單元,建立了一個從數字到字符編碼的簡單映射來進行編碼。圖形信息則不同,有很多不同的方式來表示圖像,每種方式的優點和缺點也都各有不同。 文本是線性且一維的。撇開文字方向的

原创 Core Image 和視頻

在這篇文章中,我們將研究如何將 Core Image 應用到實時視頻上去。我們會看兩個例子:首先,我們把這個效果加到相機拍攝的影片上去。之後,我們會將這個影響作用於拍攝好的視頻文件。它也可以做到離線渲染,它會把渲染結果返回給視頻,而不是

原创 iOS 上的相機捕捉

第一臺 iPhone 問世就裝有相機。在第一個 SKDs 版本中,在 app 裏面整合相機的唯一方法就是使用 UIImagePickerController,但到了 iOS 4,發佈了更靈活的 AVFoundation 框架。 在這篇

原创 相機工作原理

輕輕一按,你的相機就把光子轉換爲了比特。於是一張相片就保存到了你的 iPhone 裏。 讓我們假設一下你身處室外,環顧四周。三億裏之外,太陽無時無刻不在發射光子。它們需要花上 8 分鐘之久才能到達我們舒適的星球。有一些光子撞擊到你周圍

原创 Core Image 介紹

這篇文章會爲初學者介紹一下 Core Image,一個 OS X 和 iOS 的圖像處理框架。 如果你想跟着本文中的代碼學習,你可以在 GitHub 上下載示例工程。示例工程是一個 iOS 應用程序,列出了系統提供的大量圖像濾鏡以供選

原创 照片框架PhotoKit

介紹 每天,用 iPhone 拍攝的照片數量超過了任何相機。每年 iOS 設備上的顯示效果變得越來越好,回到 iPad 剛出現還沒有 Retina 顯示屏的時代,大屏幕的殺手級功能之一就是可以展示用戶照片和瀏覽器照片庫。自從相機成爲

原创 GPU 加速下的圖像處理

Instagram,Snapchat,Photoshop。 所有這些應用都是用來做圖像處理的。圖像處理可以簡單到把一張照片轉換爲灰度圖,也可以複雜到是分析一個視頻,並在人羣中找到某個特定的人。儘管這些應用非常的不同,但這些例子遵從同樣

原创 GPU 加速下的圖像視覺

越來越多的移動計算設備都開始攜帶照相機鏡頭,這對於攝影界來說是一個好事情,不僅如此攜帶鏡頭也爲這些設備提供了更多的可能性。除了最基本的拍攝功能,結合合適的軟件這些更爲強大的硬件設備可以像人腦一樣理解它看到了什麼。 僅僅具備一點點的理解

原创 玩轉字符串

在每個應用裏我們都大量使用字符串。下面我們將快速看看一些常見的操作字符串的方法,過一遍常見操作的最佳實踐。 字符串的比較、搜索和排序 排序和比較字符串比第一眼看上去要複雜得多。不只是因爲字符串可以包含代理對(surrogate pa

原创 字符串解析

在幾乎每一種計算機程序語言中,解析字符串都是我們不得不面對的問題。有時這些字符串以一種簡單的格式出現,有時它們又變得很複雜。我們將利用多種方法把字符串轉換成我們需要的東西。下面,我們將討論正則表達式、掃描器、解析器以及在什麼時候使用它們