C#

C#

【C#】n乗根の計算

n乗根の計算で、例えば8の3乗根( \(\sqrt { 8 } =2\) )を計算するにはMathクラスのPowメソッドを用いて Math.Pow(8.0, 1.0 / 3.0); と、すれば答え 2 が求められます。 しかし、負の値のn乗...
C#

【C#】アンチエイリアスの設定

アンチエイリアス(antialias)とは、特に斜めの線を描画した時にギザギザになるのをなめらかにする処理ですが、C#ではGraphicsクラスのSmoothingModeプロパティにSystem.Drawing.Drawing2D.Smo...
C#

【C#】寸法線の描画

GraphicsPathを使うことで、文字を任意角度で表示することが出来るのを知った元メカ屋な私。 これは寸法線の描画に使えそう! と思い、寸法線の描画部分をクラスにまとめたものを作成してみました。 実行画面 寸法線描画のクラス↓ publ...
C#

【C#】GraphicsPathの領域取得

GraphicsPathを囲む外接四角形の領域はGetBoundsメソッドで取得することができます。 private void Form1_Paint(object sender, PaintEventArgs e) { // パスの作成 ...
C#

【C#】GraphicsPathの描画

GraphicsPathの特長の一つでもあるアフィン変換を駆使した描画をしてみたいと思います。 パスの描画は、パスをnewしてAddLineなどのメソッドで図形を描画し、DrawPath(輪郭の描画)やFillPath(塗りつぶした描画)で...
C#

【C#】GraphicsPath

GraphicsPath(名前空間:System.Drawing.Drawing2D)ですが、線や丸を書くだけで、DrawXXX系のメソッドでも出来るしなんか面倒臭いやつ?! と、思っていたのですが、GraphicsPathに含まれているメ...
C#

【C#】Bitmap画像データの拡大縮小

Bitmap画像を拡大縮小するには、Bitmapクラスのコンストラクタで、 Bitmap bmpOrijinal = new Bitmap("sample.bmp"); int scale = 50; Bitmap bmpResize = ...
C#

【C#】画像の座標系

画像を描画するにはDrawImageメソッドを用いますが、DrawImageメソッドはいくつものオバーロードが定義されていますが、画像の拡大縮小を考慮すると、個人的には以下の定義をよく用います。 public void DrawImage(...
C#

【C#】画像の上下左右反転、90,180,270度回転

画像(Bitmap)の上下、左右反転、および90°、180°、270°の回転はImageクラスのRotateFlipメソッドを使うと簡単に行う事ができます。 上記プログラムの一部抜粋 // 表示する画像の読み込み var bmpOrigin...
C#

【C#】SplitContainerのPanel固定方法

SplitContainerのパネルのサイズは、フォームのリサイズやスピリッター(仕切り線)をマウスで操作することで、サイズが変更されますが、このパネルを固定する方法です。 フォームのリサイズに合わせて、パネルのサイズが変わらないようにする...
C#

【C#.NET】マイクロソフト仕様のアフィン変換

.NETでは座標のアフィン変換用にMatrixクラス(名前空間:System.Drawing.Drawing2D)が用意されています。 しかしながら、やっかいな事に、私の思う普通のアフィン変換の行列の表現が行と列が逆(転置されている)だし、...
C#

【C#】ファイルを開くダイアログボックスの表示

C#でファイルを開くときに使うOpenFileDiaologクラス(名前空間:   System.Windows.Forms)の例です。(主に自分のコピペ用) 下記のファイルは画像ファイルを開く例です。 //ファイルを開くダイアログボックス...
C#

【C#】タブの無いTabControlっぽいものを作る

重なったパネルを切り替えるのにはTabControlを使う事が多いですが、タブの部分を非表示にしたい場合もあります。 例えば、下図のようにボタンを押すたびに、右半分の画面を切り替えるには、どうするか?? 基本的には、切り替える部分をユーザー...
C#

【OpenCvSharp】サンプルプログラムの公開

少し前に、とある記事向けに書いたOpenCvSharpのサンプルプログラム。 少しバージョンが古くなっていますが、眠らせておくのも、もったいないので公開しておきます。 ダウンロードはこちら↓ OpenCvSharp サンプルプログラム 注)...
C#

【C#】引数の値渡し、参照渡し(ref, out)

メソッドに値を引数で渡す場合、値渡しと参照渡しというものがあります。 メソッド内で処理した結果を処理後に必要な場合には参照渡しにする必要があるのですが、まずはコード例から。 static void Main(string[] args) {...
C#

【C#】NumericUpDownコントロール

パラメータの設定など、数値を入力するコントロールとして、これまでTextBoxを使うことが多かったのですが、TextBoxを使うと、TryParseを使い、文字列入力のエラー処理や、整数、小数の確認、最小値、最大値の確認などのエラー処理を行...