コンピュータ C#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較 手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。System.Drawing:22msMagick.NET:39msOpenCVSharp:33msWindows環境で実行しているの... 2024.04.14 コンピュータ
コンピュータ C#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」 ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロールす... 2024.04.13 コンピュータ
コンピュータ C#のWinFormsでToolStripなToggleButtonのサンプル スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。ソースコードnamespace ToolStripToggleButtonSample1;public partial class Form1 : Form{ p... 2024.04.12 コンピュータ
コンピュータ C#のWinFormsでファイルマネージャを作る2。「大きいサムネイル」 前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も表... 2024.04.12 コンピュータ
コンピュータ C#のWinFormsでファイルマネージャを作る。「試作編」 少しずつ調べていた機能がだいぶ溜まったので、以前から作ろうと思っていたファイルマネージャ(劣化版エクスプローラー)を作成したいと思います。アプリケーションのファイルの一覧からGIMPなどの画像加工のアプリケーションに画像ファイルをドラッグア... 2024.04.11 コンピュータ
コンピュータ C#のWinFormsでリストビューを試す。「アイテムにアイコンを表示」 カレントディレクトリのファイルの一覧をリストビューで表示するプログラムを作成しました。リストビューのアイテムがファイルの場合とディレクトリの場合で別のアイコンが表示されるようになっています。namespace ListViewSample;... 2024.04.08 コンピュータ
コンピュータ C#のWinFormsでコンボボックスのイベントを確認する2。「バリデーション」 コンボボックスはプルダウンメニューの様な選択肢を選択する機能と文字を入力するテキストボックスのような機能が複合されたコントロールです。選択と入力で保持する値が別の方法で変更される可能性があり、イベントの処理を考えると思考を放棄したくなります... 2024.04.06 コンピュータ
コンピュータ C#のWinFormsで絵文字を描くサンプル。「フォルダを描く」 System.Drawing.GrapihcsのDrawStringメソッドを使うと画像に文字書くことが出来ます。その際フォントを指定することになりますが、絵文字を持っているフォントを指定し、描きたい絵文字を文字コードに指定すると、絵文字を... 2024.04.06 コンピュータ
コンピュータ C#のWinFormsでファイルのアイコンを取得するサンプル C#でエクスプローラーのようなファイルマネージャを作ろうと思い、ファイル表示されているアイコンの取得する方法を調べてみました。namespace FileIcon;public partial class Form1 : Form{ pub... 2024.04.05 コンピュータ
コンピュータ C#でMagick.NETを使って画像ファイルの幅と高さを取得する。 画像ファイルの幅と高さを取得する方法として、Sysmte.Drawing.Bitmapのオブジェクトを生成し、プロパティのWidthやHeightを参照すれば良いのですが、ファイルサイズが大きな画像ファイルが多量にある場合、毎回Bitmap... 2024.04.04 コンピュータ
コンピュータ C#でConsoleプロジェクトからWPFを扱う WPFに依存するオブジェクトやライブラリをConsoleプロジェクトから呼び出したい。以前WPFのクラスライブラリを作成しConsoleプロジェクトから参照する方法を試しました。consoleプロジェクトのcsprojファイル内でTarge... 2024.04.03 コンピュータ
コンピュータ C#でWPF学習中「WPFプロジェクトを作成するスクリプト2」 WPFのクラスライブラリを作成し、WPFアプリケーションのプロジェクトとConsoleアプリケーションのプロジェクトから参照するソリューションを作成するスクリプトを作成しました。スクリプトスクリプト名:Create-WPFSolution.... 2024.04.03 コンピュータ
コンピュータ C#ツリービューを試す2「ノードを検索して展開する」 以前ツリービューでフォルダ構造を表現するサンプルを作成しました。エクスプローラーの左側のような動作をするように作成しましたが、機能的に外部から指定のフォルダーに移動する機能も必要では?と思い試作してみました。namespace TreeSa... 2024.04.03 コンピュータ
コンピュータ C#リストビューで画像ファイルのサムネイル表示5「サムネイルをzipファイルに保存」 前回作成したプログラムで、サムネイル用の縮小画像を毎回作成するとレスポンスが悪くなるので、一度生成した縮小画像をファイルとして保存し、2回目以降はそれを読み出すようなキャッシュルーチンを組み込んでいました。保存した縮小画像のファイルは不可視... 2024.04.01 コンピュータ