コンピュータ

C#のWPFで4K画像ファイルの読み込み~デコード速度を計測。(BMP,PNG,NTFS圧縮)

C#で3840x2180で32bit(BGRA)のPNGとBMP形式の画像ファイルを用意しBitmapオブジェクトの作成までの速度を計測してみます。BMPに関してはNTFS圧縮したものも計測してみます。ファイルサイズ各ファイルのサイズは以下...
コンピュータ

C#でランダムな図形を描画した画像ファイルを作るプログラム

WPFで図形を描画し画像ファイルとして保存するプログラムです。using System.Diagnostics;using System.IO;using System.Text;using System.Windows;using Sys...
コンピュータ

C#でZIPファイルを作成し圧縮・無圧縮でサイズと展開速度を確認する。

複数のPNG形式などの画像ファイルをzipファイルにアーカイブして保存しています。PNG形式で圧縮済みのファイルをzipで圧縮しても余り小さくなることは無いので、無圧縮にして展開速度を速めた方がメリットが大きそうです。簡単なプログラムを組ん...
スポンサーリンク
コンピュータ

C#でMemoryCacheクラスでWPFのBitmapSourceをキャッシュしてみる。

ストレージ内の画像ファイルとZIPファイル内の画像ファイルをキャッシュするプログラムを作成してみました。プロジェクトの作成PowerShellで実行。要dotnet.exemkdir BitmapImageLoad01cd BitmapIm...
コンピュータ

C#で別スレッドでループを回して処理を行う。

別スレッドを起動しその中でループを回し、ループ内で処理を行うプログラムがあります。基本的にサーバーなどのサービスのリクエストの受付などの処理を待つプログラムで使われるコードです。bool _loopFlag = true;public vo...
コンピュータ

C#のthrow,try,catch,finallyステートメントの動作を確認する

面倒なので例外処理を書いてい来なかった筆者ですが、例外処理を学習したいと思います。try-finallyステートメントtry{}を離れるとfinally{}が実行されるとのことですので、tryブロック内でreturnしてみます。例void ...
コンピュータ

OpenCVSharpのMatオブジェクトとbyte配列で相互にピクセルデータをコピー

Marshal.Copy()を使いMatオブジェクトとC#のbyte配列間でピクセルデータのコピーが出来るようなので試してみました。Matオブジェクトからbyte配列へコピー // Matオブジェクト生成 Mat mat = new Mat...
コンピュータ

PowerShellでShift-JISのCSVファイルを連結した話。

月ごとに作成された文字コードがShift_JISのCSVファイルがあり、これを3年分結合させる作業を行いました。依頼された内容はもう少し複雑で手作業で行うにはかなり煩雑です。正確性とスピードを考えるとコンピュータの出番となります。手元に使え...
コンピュータ

C#のWPFでDrag&Dropで画像を表示する。

以前学習したのですが忘れてしまったので、再度コードを書いてみます。過去に作成したとあるWPFプロジェクトがいつの間にかビルドすることが出来なくなっており、原因を調べようとしましたがWPFで忘れていることが多く、再度学習しなおしたいと思います...
コンピュータ

Excelで計算式が重たい場合、計算方法の設定を手動に設定することを検討する。

沢山計算式がセットされたワークシートやVBAで作成されたマクロが原因で動作が遅い場合、計算式の設定を手動にすることを検討します。設定方法メニュー→数式→計算方法の設定→手動難しいところですが、ワークシートの内容によっては自動計算を停止するこ...
コンピュータ

C#でint型の変数をオーバーフローさせるとどうなる?

int型の変数に最大値をセットし1加算するとどうなるでしょうか?試してみます。Console.WriteLine("Min:{0} Max:{1}", int.MinValue, int.MaxValue);int a = int.MaxV...
コンピュータ

PowerShellで実行中セッション内の変数の一覧を取得する。「Get-Variable」

PowerShellの$profileでよく使うファイルやディレクトリなどのパスを変数として設定しておくと、コマンドラインからの実行などで重宝します。例:vscodeでGIMPのプラグインディレクトリを開く$profileの内容$gimp_...
コンピュータ

C#のWinformsでグレースケールの画像を作成しフォームに表示する。

グレスケールの画像をピクセル単位で操作するプログラムを作成する予定がありまして、目的のプログラムを作成する前に動作確認用にフォームに画像を表示するプログラムを作成します。using System.Data.SqlTypes;using Sy...
コンピュータ

C#のWinformでControl.Invalidate()とPaintイベント

PictureBoxなどのコントロールを再描画するためにControl.Invalidate()を実行することがあります。何気に使っていて、ふと気になったのですが、Invalidate()を発行すると再描画されるのでPaintイベントが発生...