システム開発・Webサイト構築 プラスラス

2010/10/28 木曜日

【.NET】VB/C#でグラフィックライブラリcairoを使う

このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 Google ブックマーク del.icio.us

cairoは、クロスプラットフォームの2Dグラフィックライブラリです。ベクタグラフィックエディタのInkspaceにも使用されているベクタベースグラフィック描画エンジンのAPIを使用できます。

image

具体的にどのようなことができるのかは、cairoのサイトのサンプルなどをご覧ください。

image

http://cairographics.org/

http://cairographics.org/samples/

cairoのライセンスは、LGPL 2.1または、MPL 1.1の選択制です。

(続きを読む…)

タグ: ,
Filed under: C#,Programming,VB.NET — Nakai @ 23:23:09

2010/2/14 日曜日

【.NET】文字を縁取りして描画する

このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 Google ブックマーク del.icio.us

image

VB.NETやC#で文字をふちどりして描画する方法です。System.Drawing.Drawing2D.GraphicsPathオブジェクトで、文字のパスを作成して描画する方法が簡単です。

下記のサンプルはFormのPaintイベントでフォーム自体に描画しています。

サンプルでは、ある程度小さい文字でも綺麗に見えるように、アンチエイリアスをかけています。

(続きを読む…)

タグ: ,
Filed under: C#,Programming,VB.NET — Nakai @ 2:42:23

2008/2/17 日曜日

【.NET】カラー画像を白黒2値画像に変換する

このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 Google ブックマーク del.icio.us

VB.NET、C#でカラー画像の白黒2値化を行う方法です。

2値画像へ変換
(写真はうちの犬です。)

画像の2値化は、【.NET】カラー行列(ColorMatrix)で画像をグレースケール化する の手順でカラー行列(ColorMatrix)を使ってグレースケールに変換し、さらにImageAttributes.SetThreshold()で、しきい値を指定することで簡単にできます。

(続きを読む…)

タグ: ,
Filed under: C#,Programming,VB.NET — Nakai @ 8:05:17

2008/2/16 土曜日

【.NET】カラー行列(ColorMatrix)で画像をグレースケール化する

このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 Google ブックマーク del.icio.us

C#、VB.NETでカラーの画像をグレースケール化するのに、ColorMatrixが使えます。

グレースケールとは、全てのピクセルにおいてR(赤)とG(緑)とB(青)の値が等しくなるような色、つまり、白、灰色(濃淡あわせて)、黒だけで描画した状態です。

NTSC加重平均法によるグレースケール化
(写真はうちの犬です。)

今回、カラー画像をグレースケール化するのに使用するのは、NTSC加重平均法と呼ばれる方法です。

(続きを読む…)

タグ: ,
Filed under: C#,Programming,VB.NET — Nakai @ 6:02:05

2008/2/11 月曜日

【.NET】カラー行列(ColorMatrix)で画像のRGBの値を調整する

このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 Google ブックマーク del.icio.us

VB.NETやC#で画像のRGB値を操作するには、System.Drawing.Bitmap.GetPixel()System.Drawing.Bitmap.SetPixel()を使用して、各ピクセルの値を変更することで実現可能です。

しかし、大きな画像全体の色情報を変更するには、GetPixel()やSetPixel()は重いため、処理に時間がかかりすぎます。

ColorMatrixで色の平行移動をした例

やりたいことが各ピクセルに対する一律に行うような操作であれば、画像を描画する際にImageAttributesの各設定を行うことで、工夫次第で簡単なコードで高速に動作させることができる可能性があります。検討してみてください。

(続きを読む…)

タグ: ,
Filed under: C#,Programming,VB.NET — Nakai @ 19:24:09

HTML convert time: 0.940 sec. Powered by WordPress