Desire for wealth

Last-Modified: Friday, 25-Aug-2017 18:44:28 JST / PV : 20673375 / 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 時代

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

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

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

2004/3/25 01:16

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

最近の記事

超時空要塞マクロス 初のオケコン「超時空管弦楽」で涙腺決壊 - 9/18 00:30

東富士演習場で聴く「戦車道行進曲!パンツァーフォー!」は格別 - 8/29 02:28

GPD PocketにOS Xの画面を表示してみたけど年齢的にRetina化が必須 - 8/20 23:51

Nintendo Switchおでかけセットを模索(GPD Pocket/Winでも) - 8/13 19:18

エロマンガ先生 BD 2巻特典CDの耳かき音声が期待以上のものだった - 8/ 7 01:08

iPhoneの非純正リモートプレイアプリでドラクエXIする - 7/30 11:42

「道-MEN 北海道を喰いにきた乙女」はみよしのファンとゆかりんファンは読むべき - 7/23 23:54

スプラトゥーン2の付録めあてでコロコロコミックを30数年ぶりに買った話 - 7/15 23:00

ガルパンシネマティックコンサートが劇場版上映中に生劇伴をあてていく神イベントだったなんて聞いてない - 7/10 00:40

ComicGlass 9.20 で仙花紙を漂白する - 6/29 01:50

さらに以前の記事へ