2004-06-01から1ヶ月間の記事一覧

DrawImage(Image srcImage, Point[] dstPoints, Rectangle srcRect, GraphicsUnit);

もう絵がなくてもここまでよんでこればわかると思うので(絵がめんどくさいのだ:p)、絵は省略。と、思ったけど、ちゃんとしたやつ書いてみました。右上に表示されてるやつだけど、わかるだろうか。。これら三つとも、描画元画像の指定した領域をスケーリング…

DrawImage(Image srcImage, Rectangle dstRect, int srcX, int srcY, int srcW, int srcH, GraphicsUnit unit);

DrawImage(Image srcImage, Rectangle dstRect, Rectangle srcRect, GraphicsUnit unit);

DrawImage(Image srcImage, int dstX, int dstY, Rectangle srcRect, GraphicsUnit unit);

描画元の画像の一部分(srcRect)を(dstX,dstY)に描画する unit は、GraphicsUnit.Pixel がよく使われる 描画元の画像を * の部分だけを指定するようにRectangleを設定 +---+ +--+ |** | | | |** | -> | | | | +--+ +---+ +---------------------+ | | | | | |…

DrawImage(Image srcImage, Point[] dstPoints);

srcImage全体をdstPointsの四隅に合わせて描画 (dstPoints の配列数は 3 でよい、4 番目の点は四角形なので算出できるから) +---------------------+ | | | p1 p2 | | +---------+ | | / / | | / / | | / / | | +---------+ | | p3 | | | | | +-------------…

DrawImage(Image srcImage, Rectangle dstRect);

dstRectの絵は省略(わかるよね?) +---------------------+ | | | x,y | | +---------+-- | | | | | | | | | | | | | | h | | | | | | | +---------+-- | | |--- w ---| | | | +---------------------+

DrawImage(Image srcImage, int dstX, int dstY, int dstW, int dstH);

描画元と描画先

説明が簡単になるように、以下のようなものを考えよう。↓描画したいイメージ、これを描画する(src) +---+ | | | | | | +---+↓描画先のプレーン、ここに描画する(dst) +---------------------+ | | | | | | | | | | | | | | | | | | | | +-------------------…

DrawImage[1]

C#

クラス設計って、ほんとに難しい。どういう使われ方をするかわからないもんだから、いっぱいメソッド作って、わかりにくーなクラスになることが多々ある。特にライブラリなんて、ほんと誰がどういう使い方をするかなんてわかんないから、とりあえず作っとけ…

[C#]Menuの作り方

VC.netでMenuを作るのはほんとに簡単だ。 ツールボックスにMainMenuというツールがあるので、これをドラッグアンドドロップしてやればメニューのできあがりだ。あとは、項目を記述していけばいいだけ。 Menuアイテムにチェックを入れる menuItem.Checked = t…

string -> int

C#

文字列型を数値型に変換する方法 string s = "123"; int i = int.Parse(s); System.Console.WriteLine("i = " + i ); // わざと変換不可能な文字列を指定 try { i = int.Parse("hoge"); } catch(System.FormatException e) { System.Console.WriteLine(e.Mes…

行の切り取り

CTRL+X だけで、今カーソルのある行を切り取ってくれます。これ便利すぎる・・。今までHOMEで先頭に行って、SHIFT+↓で行選択してCTRL+Xして切り取ってたよ orz..

ショートカットキー

VC.netのエディタはほんとによくできている。私は秀丸使いなのだが、C#のコーディングはさすがに秀丸ではできない。と、そんなことはどうでもよくて、UNIX経験者なら、viエディタをサルみたいに使い倒しただろうけど、私もそのクチである。一度viエディタに…

ではクラス単位とか関数単位とか、もっといえばループ単位、コメント単位を1つの部品として扱われて、エディタ上で展開/縮小することができ、自分の書いたきちゃないソースコードでも使いようによっては見やすくなる。ところでこの機能、納得いかないところ…

作り方あれこれ

C#

デリゲートのサポートにより、JavaのThreadモデルより洗練されたものになっている、、と思う(^^;起動する関数には、制限があり、 戻り値は void 引数なし でないといけない。 作り方1 : 同じクラスのメソッドを別スレッドで起動する ThreadStart ts = new Th…

文字列からIPAddressの生成

C#

001 using System.Net; 002 003 IPAddress IP; 004 005 try 006 { 007 IP = IPAddress.Parse("127.0.0.1"); 008 } 009 catch (FormatException e) 010 { // IP アドレスのフォーマットが不正 011 } 012 catch (ArgumentNullException e) 013 { // null が指…

ほんとの最大値っていくつなん?

C#

C#のスクロールバー HScrollBar と VScrollBar には、とりうる最大値と最小値をそれぞれ、Maximum、Minimum プロパティで取得できるのだが、どうもこの値と実際にいっぱいいっぱいまで目盛りをスクロールさせたときの値がことなるようだ。 Minimum = 0 Maxim…

Imageオブジェクト

C#

これまたWin32APIのBitmapハンドルからでも使用できるようなインターフェースとなっている 参照(http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdrawingimageclasstopic.asp) 構築方法 FromFil…