【.NET】文字を縁取りして描画する
VB.NETやC#で文字をふちどりして描画する方法です。System.Drawing.Drawing2D.GraphicsPathオブジェクトで、文字のパスを作成して描画する方法が簡単です。
下記のサンプルはFormのPaintイベントでフォーム自体に描画しています。
サンプルでは、ある程度小さい文字でも綺麗に見えるように、アンチエイリアスをかけています。
TrackBack URL :
Comments (0)VB.NETやC#で文字をふちどりして描画する方法です。System.Drawing.Drawing2D.GraphicsPathオブジェクトで、文字のパスを作成して描画する方法が簡単です。
下記のサンプルはFormのPaintイベントでフォーム自体に描画しています。
サンプルでは、ある程度小さい文字でも綺麗に見えるように、アンチエイリアスをかけています。
TrackBack URL :
Comments (0)VB.NET、C#でカラー画像の白黒2値化を行う方法です。
(写真はうちの犬です。)
画像の2値化は、【.NET】カラー行列(ColorMatrix)で画像をグレースケール化する の手順でカラー行列(ColorMatrix)を使ってグレースケールに変換し、さらにImageAttributes.SetThreshold()で、しきい値を指定することで簡単にできます。
TrackBack URL :
Comments (0)C#、VB.NETでカラーの画像をグレースケール化するのに、ColorMatrixが使えます。
グレースケールとは、全てのピクセルにおいてR(赤)とG(緑)とB(青)の値が等しくなるような色、つまり、白、灰色(濃淡あわせて)、黒だけで描画した状態です。
(写真はうちの犬です。)
今回、カラー画像をグレースケール化するのに使用するのは、NTSC加重平均法と呼ばれる方法です。
TrackBack URL :
Comments (2)VB.NETやC#で画像のRGB値を操作するには、System.Drawing.Bitmap.GetPixel()やSystem.Drawing.Bitmap.SetPixel()を使用して、各ピクセルの値を変更することで実現可能です。
しかし、大きな画像全体の色情報を変更するには、GetPixel()やSetPixel()は重いため、処理に時間がかかりすぎます。
やりたいことが各ピクセルに対する一律に行うような操作であれば、画像を描画する際にImageAttributesの各設定を行うことで、工夫次第で簡単なコードで高速に動作させることができる可能性があります。検討してみてください。
TrackBack URL :
Comments (0)HTML convert time: 0.795 sec. Powered by WordPress