コンピュータC#でBitmapオブジェクトとbyte配列を変換する。 C#で画像処理をしていると画像をPixel単位で加工したい状況に遭遇します。 いくつか方法はあるようですがC#でも比較的高速に動作するbyte配列に変換し加工する方法を試してみます。 using System.Drawing.Ima...2023.01.23コンピュータ
コンピュータVSCodeでC#ソースを引数付きでデバッグ実行する方法 Visual Studio Codeでデバッグ実行する場合、コマンドライン引数をとるようなプログラムのテスト方法を調べてみました。 dotnet.exeでプロジェクトを作成し、vscodeでプロジェクトを開くとデバッグ実行用の設定ファイルが...2023.01.15コンピュータ
コンピュータC#のWinFormsでNumericUpDownを試す。 NumericUpDownは数値を入力するコントロールで、数値を増減させるスピンボタンがついています。 入力した数値はNumericUpDwon.Valueプロパティで参照可能でプロパティの型はdecimalです。 定義例、 Numeri...2023.01.10コンピュータ
コンピュータC#のWinFormsでFlowLayoutPanelを試す FlowLayoutPanelは子コントロールを自動的配置してくれるコントロールです。 配置するコントロールはサイズのみ指定し、配置する座標はFlowLayoutPanelに任せることが出来ます。 例、 namespace Flo...2023.01.09コンピュータ
コンピュータグレースケールで保存したPNGのPixelFormatは何になる?2「Format8bppIndexed」 PixelFormatにFormat8bppIndexedというフォーマットがありました。8bppですので8bitのグレースケールを扱うフォーマットだと思われますので試してみたいと思います。 元画像(カラー) ソースコード ...2023.01.06コンピュータ
コンピュータC#のWinFormsでSystem.Drawing.Pointを確認する。 Point point = new(); Debug.Print("X:{0}, Y:{1}, IsEmpty:{2}", point.X, point.Y, point.IsEmpty); // X:0, Y:0, I...2023.01.06コンピュータ
コンピュータC#のWinFormsでSystem.Drawing.Recangleを確認する Recangleは矩形座標を配置する情報をプロパティに持ちます。 Rectangle rect1 = new(); Debug.Print("{0}", rect1); // {X=0,Y=0,Width=0,Height=0} コンス...2023.01.05コンピュータ
コンピュータC#でフリーハンドで線を引く2「ひとつ前に戻る機能をつける」 ペイントソフトなどにある「ひとつ前に戻る機能」がどの様なものか考え試作してみました。 namespace FreeHand2; public class ImgObject : IDisposable { public Bitm...2023.01.03コンピュータ
コンピュータC#のWinFormsでControlの配置について WinFormsでコントロールの配置について学んだことをまとめてみます。 配置されるタイミングについて 自分はコンストラクタでControls.Add()で配置しますが、それ以外でも動的に生成配置することも可能です。FormのLoad...2023.01.02コンピュータ
コンピュータC#のWinFormsでHScrollBarのMaximum、LargeChangeとValueの関係について HScrollBarのValueがスライドを前回に動かしても、Maximumの値になっていいないようなので確認してみました。 サンプルソース using System.Diagnostics; namespace HScrollBarS...2023.01.02コンピュータ
コンピュータC#のWinFromsでAnchorプロパティを設定する。 Anchorプロパティを設定してみました。 namespace ClientCoordinate; public partial class Form1 : Form { public Form1() { ...2023.01.01コンピュータ
コンピュータC#のWinFormsでMarginとPaddingを確認する。 PaddingやMarginプロパティはコントロールの余白の設定なのですが、実際設定するとどのような影響あるか確認してみます。 デフォルト設定 namespace ClientCoordinate; public partial cl...2022.12.31コンピュータ
コンピュータC#のWinFormsでUserControlでオリジナルのイベント処理を追加する。 UserControlを継承しカスタマイズすることでオリジナルのコントロールを作成することが出来ます。 そのコントロールの用途に合わせた固有のイベントを作成することが出来れば、発生したイベントに連動した処理を実行することが出来ます。 na...2022.12.27コンピュータ
コンピュータC#のWinFormsで右クリックでコンテキストメニューを表示する。 UserControl上で右クリックでコンテキストメニューを表示するサンプルになります。 サンプルプログラムソース namespace ContextMenuSample; public partial class Form1 : F...2022.12.26コンピュータ