Desire for wealth

Last-Modified: Friday, 19-Sep-2014 09:07:37 JST / PV : 20512859 / Owner : Nihondo

だめちゅんにっき

ひとつ前の記事

ココア図書館 #01 - 縁取り付きの文字列を描画する - 3/22 01:14

ひとつ先の記事

1年越しの夢かなう〜ステレオハック開始 - 3/31 01:18

3月25日(木)

ココア図書館 #02 - 縁取り付きの文字列を描画する その2

ココア図書館CV:斎藤千和で人里離れた山の奥にある小さなサイト。そこにはゆかり姫ラブな管理人と、女医ハック狂いの管理人と、Cocoa の勉強を始めた管理人がいるのです(←どうやらこの口上が毎回言いたいらしい)。

ちゅうか、びっくりしたー前回のココア図書館の記事に mkino@HAPPY Macintosh Developing TIME!さんがうちの掲示板で反応してくれてました。うれすぃ…。

mkinoさんといえば、Cocoa の世界では大御所じゃないですか。そんな人がこんな人里離れた山の奥にある小さな図書館(やっぱりこれが言いたいらしい)に足を運んでくれるとは!すげいでよ!あひーっ!

はい、それで、本題なんですけど、

NSAttributedStringに、NSStrokeWidthAttributeNameとNSStrokeColorAttributeName を設定してdrawAtPoint:するのも、簡単でいいと思うんですが、どうでしょう?

NSAttributedStringだと、storkeWidthを使うと中身が塗りつぶされないですよね。だから、始めに通常の文字を描いて、重ね書きをするといいと思います。

とのことでした。

そうなんです。楽な方がいいに決まってます。

#02 - 縁取り付きの文字列を描画する その2
    /* NSStrokeWidthAttributeName は縁取りの幅を指定 */
    [fontBorderAttr setObject:[[NSNumber alloc]initWithFloat:10.0]
                       forKey:NSStrokeWidthAttributeName];
    /* NSStrokeColorAttributeName は縁取りの色を指定 */
    [fontBorderAttr setObject:[NSColor whiteColor] forKey: NSStrokeColorAttributeName];
    [writeStr drawAtPoint:NSMakePoint(x,y) withAttributes:fontBorderAttr];
    [writeStr drawAtPoint:NSMakePoint(x,y) withAttributes:fontAttribute];

としてあげますと、ちゃんと縁取りで書いてくれますよ。簡単だし、こっちを多用するのがいいと思います。実はこの方法も HackENT の初期段階では使っていました。

だけどカラオケという意味だとこれで書いた文字列がいまいちだったので、前回のまわりくどい方法にたどり着いたんですよ。前回(右側)のと比較してみるとよくわかります。

NSStrokeWidthAttributeName NSGlyph

もう『レモネード』最高なわけですが、縦に並べてみるとこんな感じ。

NSStrokeWidthAttributeName
NSGlyph

普通の縁取り効果がほしかったら前者のほうがかっこいいのですが、ことカラオケとなるとやはりボーダーの存在意義が変わってきますよね。

まず角を丸くしたいときは、NSStrokeWidthAttributeName じゃできないんじゃないかと思って早々にあきらめちゃって、最終的に NSGlyph にたどり着いたのですよ。

ちなみに、REALbasic 時代はどうやっていたかといいますと、いわゆる東西南北法(←いま命名)を使ってました。

要は、文字列を書く前に、縁取りしたい色で文字列の東、西、南、北、北東、北西、南東、南西にずらして文字を書いておいて、最後にその上から中身の色で文字列を書いてました。だから1行書くのに都合9回も描画処理するんです。

そうやって描いた文字列はこんな感じです。Cocoa 化した直後、HackENT の初期もこの方法で書いていましたよ。

REALbasic 時代

ね、これも案外わるくないでしょ。ただ、大量に処理すると時間がかかっちゃうのですよね。しっかし、能登麻美子はいいよねぇ。

ただ、カラオケを気持ちよく歌うためには、文字の見やすさがどうしても必要で、背景の動画やスクリーンセイバーに負けない、しっかりした縁取りが重要ってことで、やっぱ時間がかかっても、苦労してでも、きれいな縁取りを描画していきたい、と思うのでした。

はい、それでは、脳内能登麻美子とバーンナップしてくるので、この辺で失礼します。また次回。

3/25 01:16

このエントリーをはてなブックマークに追加

twitter

最近の記事

Tune-up iTunes 11.1リリース(Mac版 iTunes 11.1対応版) - 9/29 21:47

Tune-up iTunesのiTunes 11.1対応について - 9/26 01:28

HTC J Oneを自炊コミックのために買ってみたら、動画再生がすごかった - 6/ 3 01:35

ファルセット聴くだけで泣くようになってしまった『高垣彩陽 2ndコンサートツアー 〜relation of colors〜 舞浜公演』 - 6/ 2 01:18

「ファンタジーライフ Link!」に備えて、無印「ファンタジーライフ」のDL版を安く買ってレベル上げながら待つのがいいよ - 5/28 00:56

iOS版 JoyHackPlayer テスター募集 & JoyHack System 最新ビルド公開 - 4/28 22:00

Tune-up iTunes の Mountain Lion 対応版をリリース - 7/29 19:49

C81 持ち込みカラオケシステム「女医ハック」頒布〜64bit Intel Mac対応/予約画面更新 - 12/30 19:55

GALAXY Note が 自炊コミックリーダーに最適すぎる - 11/ 6 03:23

Mac/Windows で動く美声時計.Rビューア公開 & 美声時計1,2ビューアを Lion 対応 - 9/25 02:52

さらに以前の記事へ