WinForms

コンピュータ

C#のWinFomrsで画像の矩形選択機能を試作する。

マウスボタンのダウン、アップイベントと移動イベントのマウス座標をもとに矩形領域を作成しPathで描画しています。矩形選択機能の試作ということで座標系の動作確認用としてプログラムを作成してみみました。using System.Drawing....
コンピュータ

C#のWinFormsでワールド変換で図形を回転

ワールド変換を使うと画像を回転することが出来るということなので、サンプルプログラムを作成してみたいと思います。namespace PictureBox02;public partial class Form1 : Form{ public ...
コンピュータ

C#のPictureBoxでImageをセットしない状態で図形を描画

PictureBoxを使う場合ImageプロパティにImage(Bitmap)オブジェクトをセットする使い方をしています。ただ、ベースとなるコントロールはPaintイベントでGraphicsオブジェクトに対して図形を描画することができるので...
スポンサーリンク
コンピュータ

C#でBitmapオブジェクトのRGBAの並び順を確認する。

C#のWinFormsで画像を扱う場合Bitmapオブジェクトが使われます。こちらをピクセル単位に高速でアクセスする方法として、Bitmapオブジェクト内のピクセルの配列をバイト配列(byte[])へコピーし、コピーした配列をC#からアクセ...
コンピュータ

C#パスを使って図形を描く「ファイルアイコン」

ファイルアイコンをパスを使って描画してみます。ソースコードファイル名:Form1.csusing System.Drawing.Drawing2D;namespace FileIcon;public partial class Form1 ...
コンピュータ

C#パスを使って図形を描く「フォルダーアイコン」

フォルダーアイコンをパスを使って描画してみます。ソースコードファイル名:Form1.csusing System.Drawing.Drawing2D;namespace FolderIcon;public partial class For...
コンピュータ

C#のWinFormsでシステムアイコンを読み込むサンプル

SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。プロジェクトの作成.Net SDKのバージョン8mkdir SystemIconSamplecd SystemIco...
コンピュータ

C#のWinFormsでZipファイルのコメントを編集する。

.NETのZipArchiveがいつの間にかコメントのプロパティが出現していたので(昔からあった?)Zipファイルのコメントを編集するフォームを作成してみました。ソースコードファイル名:Program.csusing System.IO.C...
コンピュータ

C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。

WPFでINotifyPropertyChangedを使ってみたことがありました。その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinFor...
コンピュータ

ファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」

SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN...
コンピュータ

C#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較

手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。System.Drawing:22msMagick.NET:39msOpenCVSharp:33msWindows環境で実行しているの...
コンピュータ

C#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」

ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロールす...
コンピュータ

C#のWinFormsでToolStripなToggleButtonのサンプル

スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。ソースコードnamespace ToolStripToggleButtonSample1;public partial class Form1 : Form{ p...
コンピュータ

C#のWinFormsでファイルマネージャを作る2。「大きいサムネイル」

前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も表...