コンピュータC#でBitmapオブジェクトのRGBAの並び順を確認する。 C#のWinFormsで画像を扱う場合Bitmapオブジェクトが使われます。こちらをピクセル単位に高速でアクセスする方法として、Bitmapオブジェクト内のピクセルの配列をバイト配列(byte[])へコピーし、コピーした配列をC#からアクセ... 2024.07.22コンピュータ
コンピュータC#パスを使って図形を描く「ファイルアイコン」 ファイルアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FileIcon; public partial class F... 2024.06.05コンピュータ
コンピュータC#パスを使って図形を描く「フォルダーアイコン」 フォルダーアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FolderIcon; public partial clas... 2024.06.05コンピュータ
コンピュータC#のWinFormsでシステムアイコンを読み込むサンプル SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。 プロジェクトの作成 .Net SDKのバージョン8 mkdir SystemIconSample cd Syste... 2024.05.29コンピュータ
コンピュータC#のWinFormsでZipファイルのコメントを編集する。 .NETのZipArchiveがいつの間にかコメントのプロパティが出現していたので(昔からあった?)Zipファイルのコメントを編集するフォームを作成してみました。 ソースコード ファイル名:Program.cs using System.I... 2024.05.17コンピュータ
コンピュータC#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。 WPFでINotifyPropertyChangedを使ってみたことがありました。 その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。 正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinF... 2024.04.15コンピュータ
コンピュータファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」 SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN... 2024.04.14コンピュータ
コンピュータC#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較 手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。 System.Drawing:22ms Magick.NET:39ms OpenCVSharp:33ms Windows環境で実行し... 2024.04.14コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」 ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。 VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロール... 2024.04.13コンピュータ
コンピュータC#のWinFormsでToolStripなToggleButtonのサンプル スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。 ソースコード namespace ToolStripToggleButtonSample1; public partial class Form1 : Form... 2024.04.12コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る2。「大きいサムネイル」 前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。 ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も... 2024.04.12コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る。「試作編」 少しずつ調べていた機能がだいぶ溜まったので、以前から作ろうと思っていたファイルマネージャ(劣化版エクスプローラー)を作成したいと思います。 アプリケーションのファイルの一覧からGIMPなどの画像加工のアプリケーションに画像ファイルをドラッグ... 2024.04.11コンピュータ
コンピュータC#のWinFormsでリストビューを試す。「アイテムにアイコンを表示」 カレントディレクトリのファイルの一覧をリストビューで表示するプログラムを作成しました。 リストビューのアイテムがファイルの場合とディレクトリの場合で別のアイコンが表示されるようになっています。 namespace ListViewSampl... 2024.04.08コンピュータ
コンピュータC#のWinFormsでコンボボックスのイベントを確認する2。「バリデーション」 コンボボックスはプルダウンメニューの様な選択肢を選択する機能と文字を入力するテキストボックスのような機能が複合されたコントロールです。選択と入力で保持する値が別の方法で変更される可能性があり、イベントの処理を考えると思考を放棄したくなります... 2024.04.06コンピュータ