輪郭を描く方法について

解決


まさ  2009-12-16 23:15:48  No: 36448

C++Builder5を使っているのですが
TBitmapのCanvasにOutTextで文字を書いた時に
この文字に指定ドット数で輪郭をつけたいのですがどうやったらいいですか?
元の文字はそのままで文字の外側につけたいので文字が指定ドット分大きくなるイメージなのですが。。


take  2009-12-17 00:10:18  No: 36449

輪郭用の色を設定した後 X座標 Y座標をそれぞれ
(0,-1)(1,-1)(1,0)(1,1)(0,1)(-1,1)(-1,0)(-1,-1)
のオフセットを持たせて8回OutText描画して
最後に本来の表示座標に内側の色でOutTextするとそれっぽくなります。

この原理で簡単な陰付き文字もできます。

パスとか使う手段もありますが、質問内容からこちらが良いのではと判断
させていただきました。


まさ  2009-12-17 00:25:03  No: 36450

takeさん、素早いお答えありがとうございます。
なるほどこの方法は簡単でいいですね。
この方法を試してみようと思うのですが
以前にこの方法でtakeさんが言われてるように影付き文字を書こうと
思っていたことがありまして、実際にやってみたのですが
CopyModeを何に変えてもBrushにbsClearを指定しても
文字の背景が上書きになってしまって断念してのですが
どうしたら背景を透過させることができるのでしょうか?


まさ  2009-12-17 00:46:24  No: 36451

すみません。
BrushのStyleにbsClearを指定したら普通に透過してくれました。。。
takeさんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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