[iOS] 視圖圓角
四角的影像讓我覺得不友善,於是讓尖角變成圓角,感覺起來就舒服多了~如下這用UIImageView製作的HouseBook四個九十度角變成圓角囉!
原本以為獲取日期和時間的方法很簡單,沒想到它是如此深奧,我查詢一些跟NSDate相關的API用法,只要掌握幾個簡單的原則,就可運用自如。像是由 NSDate 轉換為 NSString,和由 NSString 轉換為 NSDate。
在瞭解結構相似性 (Structural SIMilarity)後,接下來就是驗證它的效果~我使用和峰值信號雜訊比 (Peak Signal to Noise Ratio)同樣的影像來示範。
在瞭解峰值信號雜訊比 (Peak Signal to Noise Ratio)定義之後,接下來當然就來驗證它的威力~
在此我特地找了png檔(無損壓縮)的影像,用nEOiMAGING影像處理軟體,將它另存為jpg檔(有損壓縮)的影像,其中jpg又有分壓縮品質。用肉眼也許看不太出來其中的差異,然而卻很容易從檔案大小看出端倪,壓縮品質越差,檔案大小越小。
寫iOS的APP時,幾乎任何應用都需要確認網路狀態,畢竟iPhone和iPad都是行動裝置,在這充滿無線網路的環境之下,我們會希望使用者的網路狀態良好,因而發揮我們精心設計的APP功能。
我以為透過OpenCV轉換色彩空間,可以很輕易地來回轉換,而且不會有失真的問題。然而後來我知道,轉換色彩空間會有計算上精準度的問題(小問題),除此之外我又發現一個更容易失真的問題(大問題),其實對程式設計師而言相當容易發現才是,也就是:轉換色彩空間一個函式、儲存影像一個函式,後者失真程度遠大於前者!怎麼會這樣子呢?來看一下實驗結果……
維基百科這麼介紹Core Data:
簡單的說,Core Data就是可以儲存到磁碟的物件圖,Core Data可以幫我們做很多工作,它可以作為軟體的整個模型層。它不僅僅在磁碟上儲存資料,也把我們需要的資料物件讀取到記憶體中。—Marcus Zarra,Core Data
Core Data是Mac OS X中Cocoa API的一部分,首次在Mac OS X 10.4 Tiger與iOS 3.0系統中出現。它允許按照實體-屬性-值 (EAV)模型組織資料,並以XML、二進制檔案或SQLite資料檔案的格式將其序列化。Core Data允許使用者使用代表實體和實體間關聯的高層物件來運算元據。它也可以管理序列化的資料,提供物件生存期管理與object graph管理,包括儲存。Core Data直接與SQLite互動,避免開發者使用原本較複雜的SQL語句。
就像Cocoa繫結在模型-檢視-控制器 (MVC)設計中做了很多控制器的工作一樣,Core Data做了很多資料模型的工作。它的主要任務是負責資料更改的管理,序列化到磁碟,最小化記憶體佔用,以及查詢資料。
在程式裡頭時常需要使用資料來運作,若能瞭解各檔案路徑專門存放的檔案類型(靜態與動態),將能使開發過程更明確與方便,比如將時常會變動的資料(動態資料)放在Document,絕對不會變動的資料(靜態資料)放在Resource,另外暫時產生的資料則放Temporary。
剛學姊問我程式碼太長的話,要怎麼斷行接下去,才能編譯成功。其實非常簡單,只要在行尾多加「\」這個符號即可!而且不會影響程式執行結果。
直接來看程式碼就瞭解~
在了解雙邊濾波器 (Bilateral Filter)理論之後,來試驗程試跑出來的效果。比起其它影像模糊化 (Image Smoothing)的方法,雙邊濾波器執行時間較長然模糊效果較佳!我所使用的筆電跑本程式每張圖約2.5分鐘。
HappyMan・迴響