HMDT BOOKS:HMDT JOURNAL Vol.007

HOME > PRODUCTS > HMDT BOOKS > HMDT JOURNAL Vol.007

ここでは、書籍の内容の一部を紹介しています。本文をお読みなる場合は、HMDT BOOKSアプリケーションから購入してください。

HMDT JOURNAL Vol.007 - 書籍内容紹介

2012年4月6日配信

iOS API探訪 第6回 Core Image (1) フィルタの使い方

coreimage.png

iOSには多種多様なフレームワークが用意されている。それらを実例とともに紹介してくのが、この『iOS API探訪』だ。

今回からは、Core Imageを取り上げる。まずはCore Imageの概観を知るとともに、画像処理の中心となるフィルタの使い方を説明しよう。

■Core Imageとは

Core Imageは、高機能な画像処理を提供するフレームワークだ。iOSでは5.0から使用可能となった。OS Xでは、10.4 Tigerから組み込まれている。

提供される画像処理機能のうち、メインとなるものはフィルタだ。画像にエフェクトを施すためのフィルタが、多数提供されている。エフェクトの種類は、画像の色調整を行うものから、幾何学的変換を行うものやグラデーションを生成するものなど、多岐にわたる。一言で言ってしまえば、Photoshopのフィルタ機能を提供するフレームワーク、と考えることができるだろう。…

■フィルタの使い方

Core Image の中心機能である、フィルタの使い方を説明しよう。まずは、そのために使われるCore Image のクラスを紹介する。

Core Imageでは、フィルタを表すクラスとしてCIFilterを提供する。CIFilterは、このクラス1つで、すべてのフィルタに対応する。プログラマから見ると、フィルタのタイプ毎にサブクラスが存在する訳ではなく、CIFilterクラスだけですべてをまかなうことになる。…

■ビルトインフィルタ一覧

では、ビルトインフィルタの一覧を紹介しよう。ここで紹介するのは、iOS 5.1の時点のものである。

まずはカテゴリの一覧だ。カテゴリ名の一覧は、次のようなソースコードで取得できるだろう。…

Keywords: Core Image、フィルタの使い方、CIFitler、CIImage、CIColor、CIVector、filterWithName:、filterNamesInCategory:、filterNamesInCategories:、inputKeys、outputKeys、outputImage、CIAttributeFilterCategories、CIAttributeFilterDisplayName、CIAttributeFilterName、CIAttributeType、CIAttributeClass、カテゴリ名一覧、フィルタ名一覧

たのしいiPhoneプログラミング 第7回 地図にピンを落とそう!

enjoy.png

いまから始めるiPhoneプログラミング!プログラミングが初めての人でもできるように、一歩一歩進んでいく連載だ。

前回に引き続き、さらに地図アプリを拡張するぜ。今度は、ピンを落とせるようにしよう。

■ピンを落とすためのボタンを追加しよう!

前回に引き続き、さらに地図アプリを強化していってみよう!

今回やるのは、ピンを落とす事だ。標準のマップアプリだと、地図の気になる場所に、目印として画面の上からポトッとピンを落とす事ができるよね。これをやってみよう。…

■デリゲートとは?

先ほど登場した「デリゲート(delegate)」とは何か? 実は、Cocoa Touchの中では、デリゲートってのはとっても重要な役割を果たす。だから、名前だけは確実に覚えておいてね。

でも、あんまり日頃使わない言葉だよね。そういうときは、辞書をひいてみる。すると「(権限・任務などを)委任[委嘱]する」と、ある。うーむ? 分かったような、分からんような。…

■新規クラスを作成しよう!

さて、作業に戻ろう。次は、新しいクラスの作成だ。

今回の目的は地図にピンを落とす事なんだけど、その前に説明しておかなくてはいけないものがある。アノテーションと呼ばれるものだ。…

Keywords: Map Kit、ピンのドロップ、デリゲート、MKMapViewDelegate、アノテーション、MKAnnotation、addAnnotation:、mapView:viewForAnnotation:、MKPinAnnotationView、dequeueReusableAnnotationViewWithIdentifier、animatesDrop

フォントとコードの話 第3回 グリフの描画

font.png

iOSおよびOS Xで、フォントと文字コードのプログラミングにまつわる四方山話をしようか。

今回は、取得したグリフを描画しよう。Core Graphics座標系独特の事情もあって、なかなかに面倒だ。あと、縁取り文字の描画にも挑戦しようか。

■グリフを描画する

前回は、グリフとは何ぞやってところから、フォントからグリフIDを取得するところまで話したよね。今回は、これを画面に描画することを考えよう。

ところで皆さん、画面に文字を描きたいときは、何を使う? そんなもの、言わずもがなだよね。NSStringのdrawAtPoint:withFont:を使う。それが正解。ほとんどの場合、これで事足りる。でも、これで描けるのはNSStringとして表すことのできる文字だけなんだ。じゃあ、グリフが取得できたとして、それを描くには?…

■縁取り文字の描画

さっきはグリフを描画するために、CGContextShowGlyphsを使ったね。ここでは、もう1つの方法を説明しよう。

それは、Core Textを使って、グリフから文字のパスを得る方法だ。CTFontには、CTFontCreatePathForGlyphっていう関数がある。これを使うと、指定したグリフのCGPathを取得できる。…

Keywords: グリフの描画、CGContextShowGlyphs、CGContextShowGlyphsAtPoint、CGContextShowGlyphsAtPositions、CGContextShowGlyphsWithAdvances、テキストの座標系、CGContextSetTextMatrix、CGContextSetTextPosition、CGContextGetTextPosition、ベースラインからの描画、CTFontCreatePathForGlyph、CGContextGetCTM、CGContextConcatCTM、Core Textの座標系、縁取り文字の描画

Copyrights © 2012 HMDT Co., Ltd. All rights reserved.

HMDTアプリケーション

icon512.png
HMDT BOOKS