アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
C#でSQLiteの自動採番を使い特定フォルダ内のファイルを番号管理するテーブルを作る。
ファイルに紐づく番号を管理する仕組みを考えてみます。 重複しない番号はSQLiteのテーブルの主キーを自動採番するようにしてその値を使うことにします。 テーブルで管理する内容はファイルのパス、更新日時、ファイルサイズで主キーは自動採番のid
C#のWPFで4K画像ファイルの読み込み~デコード速度を計測。(BMP,PNG,NTFS圧縮)
C#で3840x2180で32bit(BGRA)のPNGとBMP形式の画像ファイルを用意しBitmapオブジェクトの作成までの速度を計測してみます。 BMPに関してはNTFS圧縮したものも計測してみます。 ファイルサイズ 各ファイルのサイズ
WPFで図形を描画し画像ファイルとして保存するプログラムです。 using System.Diagnostics; using System.IO; using System.Text; using System.Windows; usin
C#でZIPファイルを作成し圧縮・無圧縮でサイズと展開速度を確認する。
複数のPNG形式などの画像ファイルをzipファイルにアーカイブして保存しています。 PNG形式で圧縮済みのファイルをzipで圧縮しても余り小さくなることは無いので、無圧縮にして展開速度を速めた方がメリットが大きそうです。簡単なプログラムを組
C#でMemoryCacheクラスでWPFのBitmapSourceをキャッシュしてみる。
プロジェクトの作成 PowerShellで実行。要dotnet.exe mkdir BitmapImageLoad01 cd BitmapImageLoad01 dotnet new console dotnet add package S
別スレッドを起動しその中でループを回し、ループ内で処理を行うプログラムがあります。基本的にサーバーなどのサービスのリクエストの受付などの処理を待つプログラムで使われるコードです。 bool _loopFlag = true; public
C#のthrow,try,catch,finallyステートメントの動作を確認する
面倒なので例外処理を書いてい来なかった筆者ですが、例外処理を学習したいと思います。 try-finallyステートメント try{}を離れるとfinally{}が実行されるとのことですので、tryブロック内でreturnしてみます。 例 v
OpenCVSharpのMatオブジェクトとbyte配列で相互にピクセルデータをコピー
Marshal.Copy()を使いMatオブジェクトとC#のbyte配列間でピクセルデータのコピーが出来るようなので試してみました。 Matオブジェクトからbyte配列へコピー // Matオブジェクト生成 Mat mat = new Ma
PowerShellでShift-JISのCSVファイルを連結した話。
月ごとに作成された文字コードがShift_JISのCSVファイルがあり、これを3年分結合させる作業を行いました。 依頼された内容はもう少し複雑で手作業で行うにはかなり煩雑です。正確性とスピードを考えるとコンピュータの出番となります。 手元に
以前学習したのですが忘れてしまったので、再度コードを書いてみます。 過去に作成したとあるWPFプロジェクトがいつの間にかビルドすることが出来なくなっており、原因を調べようとしましたがWPFで忘れていることが多く、再度学習しなおしたいと思いま
Excelで計算式が重たい場合、計算方法の設定を手動に設定することを検討する。
沢山計算式がセットされたワークシートやVBAで作成されたマクロが原因で動作が遅い場合、計算式の設定を手動にすることを検討します。 設定方法 メニュー→数式→計算方法の設定→手動 難しいところですが、ワークシートの内容によっては自動計算を停止
int型の変数に最大値をセットし1加算するとどうなるでしょうか? 試してみます。 Console.WriteLine("Min:{0} Max:{1}", int.MinValue, int.MaxValue); int
PowerShellで実行中セッション内の変数の一覧を取得する。「Get-Variable」
PowerShellの$profileでよく使うファイルやディレクトリなどのパスを変数として設定しておくと、コマンドラインからの実行などで重宝します。 例:vscodeでGIMPのプラグインディレクトリを開く $profileの内容 $gi
C#のWinformsでグレースケールの画像を作成しフォームに表示する。
グレスケールの画像をピクセル単位で操作するプログラムを作成する予定がありまして、目的のプログラムを作成する前に動作確認用にフォームに画像を表示するプログラムを作成します。 using System.Data.SqlTypes; using
C#のWinformでControl.Invalidate()とPaintイベント
PictureBoxなどのコントロールを再描画するためにControl.Invalidate()を実行することがあります。 何気に使っていて、ふと気になったのですが、Invalidate()を発行すると再描画されるのでPaintイベントが発
GIMPのPython-Fuでグリーンバックを追加するプラグイン
緑色で塗りつぶされたグリーンバック用のレイヤーを新規に追加します。 #!/usr/bin/env python # coding: utf8 from gimpfu import * from array import array # グリ
GIMPのPython-Fuでレイヤーを二つ追加するプラグイン
GIMPで境界線(Line)と塗りつぶし(Paint)用に2つレイヤーを追加するプラグインを作りました。 #!/usr/bin/env python # coding: utf8 from gimpfu import * from arra
オブジェクトのメソッド名の一覧を取得し、特定の条件に当てはまるメソッドを実行することが出来るか試してみました。 まずはメソッド名の一覧を取得してみます。 class MyClass { void InitA() { Console.Writ
C#のWinFormsで画像加工アプリ16「ダイアログ生成のサブルーチン化とヒストグラム平坦化」
ヒストグラムの平坦化を行います。 また、ダイアログ生成をサブルーチン化しました。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ヒストグラム平坦化(Form1のコンストラクタに追加) Ini
C#のWinFormsで画像加工アプリ15「アンシャープマスキングフィルタ」
アンシャープマスキングフィルタで先鋭化を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // アンシャープマスキング(Form1のメンバーとして追加) readonly ToolStri
モルフォロジー変換のクロージング処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // クロージング(Form1のメンバーとして追加) readonly ToolStripMenuI
モルフォロジー変換のオープニング処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // オープニング(Form1のメンバーとして追加) readonly ToolStripMenuI
C#のWinFormsで画像加工アプリ11「Cannyフィルタで境界線抽出」
Cannyフィルタで境界線抽出してみます。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // Canny(Form1のメンバーとして追加) readonly ToolStripMenuItem
C#のWinFormsで画像加工アプリ11「メディアンフィルタ」
メディアンフィルタを追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // メディアンフィルタ(Form1のメンバーとして追加) readonly ToolStripMenuItem m
C#のWinFormsで画像加工アプリ10「ヒストグラムのグラフを表示」
画像のヒストグラムをグラフで表示します。 前回の記事 パッケージの追加 dotnet add package System.Windows.Forms.DataVisualization --version 1.0.0-prerelease
C#のWinFormsでワールド変換で図形を回転5「カーソルキーで図形を移動する2」
カーソルキーの左右で旋回し、上で前進、下で後退するようにしてみました。 ソースコード using System.Drawing.Drawing2D; namespace Kaiten02; public partial class Form
電子レンジで2つ同時に温める際の温め時間を計算します。 1つ目分秒 2つ目分秒
C#のWinFormsでワールド変換で図形を回転4「カーソルキーで図形を移動する」
カーソルキーの上下左右をおすと進行方向に図形が回転され移動するようにしてみました。 ソースコード namespace Kaiten02; public partial class Form1 : Form { public Form1()
C#のWinFormsでワールド変換で図形を回転3「図形を回転して並べる」
図形を0度、90度、180度、270度に回転し左から順番に4つ重ならないように横方向へ並べて表示したい。 結果 ソースコード using System.Drawing.Drawing2D; namespace Kaiten01; publi
C#のWinFormsで画像加工アプリ9「ラプラシアンフィルタで境界線抽出」
ラプラシアンフィルタで境界線抽出を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ラプラシアンフィルタ(Form1のメンバーとして追加) readonly ToolStripMen
直線検出を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) readonly ToolStripMenuItem houghMenuItem = new() { Text = "
C#のWinFormsで画像加工アプリ7「バイラテラルフィルタ」
バイラテラルフィルタ機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) readonly ToolStripMenuItem bilateralMenuItem = new() {
C#のWinFormsで画像加工アプリ6「LUTによるガンマ補正」
LUTを使ってガンマ補正を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ガンマ補正(Form1のメンバーとして追加) readonly ToolStripMenuItem gam
Javascriptで画像ファイルをドラッグアンドドロップでプレビュー表示
画像ファイルをドロップしてください
C#のWinFormsで画像加工アプリ5「LUTによる減色」
LUTを使って減色処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // 減色処理(Form1のメンバーとして追加) readonly ToolStripMenuItem dietC
C#のWinFormsのトラックバーで値の変更に合わせて重たい処理を行う方法を考える。
とりあえずサンプルプログラム。 namespace TrackBarLock01; public partial class Form1 : Form { readonly Label _trackValueLabel = new() {
C#のWinFormsで画像加工アプリ4「ノンローカルミーンフィルタ」
ノンローカルミーンフィルタ行うフィルター機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ノンローカルミーンフィルタ(Form1のメンバーとして追加) readonly To
2値化を行うフィルター機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // 2値化(Form1のメンバーとして追加) readonly ToolStripMenuItem thr
C#のWinFormsで画像加工アプリ2「グレースケール化」
グレースケール化を行うフィルター機能を追加します。 前回の記事 パッケージの追加 cd GazouKakou01 dotnet add package OpenCVSharp4 dotnet add package OpenCVSharp4
C#のWinFormsで画像加工アプリ1「ドラックアンドドロップで画像を表示しCtrl+Cでクリップボードへコピー」
画像加工アプリケーションを作成します。 今回はメインとなるフォームにドラックアンドドロップで画像表示、Ctrl+Cでクリップボードへコピー、メニューで画像の拡大機能を作成してみました。 プロジェクトの作成 < pre>mkdir
「ブログリーダー」を活用して、84さんをフォローしませんか?
アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
LiteDBはSQLを書かずにC#のマネージドオブジェクトとして扱えるデータベースです。アプリケーションのバックエンドに良さそうなので試してみました。プロジェクトの作成mkidr LiteDBSamplecd LiteDBSampledot...
NMeCabを使うと日本語の文章を単語ごとに分割してくれるようなので試してみました。プロジェクトの作成 mkdir MeCabSample cd MeCabSample dotnet new console dotnet add packa...
mallocでメモリを確保する処理を確認したいと思います。ソースコード#include <stdio.h>#include <stdlib.h>int main() { int *arr; int size = 10; // メモリ確保 a...
WinFormsでシンプルなアプリケーションランチャーを作成しました。プロジェクトの作成mkdir ApplicationLauncher01cd ApplicationLauncher01dotnet new winformsソースコード...
名前とファイルパスのコレクションを管理するサンプル プロジェクトの作成mkdir jsonsaveloadcd jsonsaveloadgo mod init example.com/jsonsaveloadソースコードファイル名:json...
文字入力ダイアログボックスのサンプルです。プロジェクトの作成mkdir dialogmemocd dialogmemoMake-GoWalk.ps1Make-GoWalk.ps1は次の記事を参照ソースコードファイル名:dialogmemo....
ウィンドウにファイルをドラックアンドロップするサンプルコードです。プロジェクトの作成mkdir dragdropdemocd dragdropdemoMake-GoWalk.ps1Make-GoWalk.ps1は次の記事を参照ソースコードフ...
はじめに2025年現在、PCのパーツ選びにおいて「どれを交換すると快適になるのか?」は多くの人が一度は考えるテーマです。CPUやGPUのような高価なパーツもありますが、今回はあえて体感の快適性に直結するパーツとして、「SSD」、とくにNVM...
PowerShellのパイプラインはコマンドレット間でオブジェクトを渡す仕組みで、各オブジェクトで処理を組み合わせることで、複雑な処理流れを1行で表現することが出来ます。エクスプローラなどでファイルを操作する場合など、手作業で行うことに比べ...
ウィンドウにボタンをレイアウトし、ボタンを押すことでボタンの文字が変化するサンプルプログラムを作成しました。ソースコードファイル名:datasource.h#ifndef DATASOURCE_H#define DATASOURCE_H#i...
書籍「MSX-BASICでゲームを作ろう」を電子書籍で購入しました。書籍は後でじっくり読むとして、MSX公式エミュレーターMSXPlayerのダウンロード用のリンクとパスワードがあるので試してみました。起動時MSXのタイトル、RAMは豪華に...
C++のスマートポインタを学習したのですが、モダンな初期化方法があるとのことですので、試したいと思います。また、Qt6でGUIプログラミングを学習する予定あり、Qtにもスマートポインタがあり、其の中でQPointerを学習したいと思います。...
C++のスマートポインタを学習したのですが、モダンな初期化方法があるとのことですので、試したいと思います。また、Qt6でGUIプログラミングを学習する予定あり、Qtにもスマートポインタがあり、其の中でQPointerを学習したいと思います。...
XAMLを使わないWPFでListViewとコレクションのバインディングを試して見ます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML05cd NoXAML05rm *.xamlrm ...
全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
XAMLを使わない状態でデータバインディングはどのようにするか調べてみました。サンプルコードプロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML02cd NoXAML02rm *.xamlrm MainWi...
住宅事情により、ワイヤレスヘッドフォン(ヘッドセット)を使っていましたが、バッテリーが持たなくなってきたので、ネックスピーカーを試してみました。 よくない点 少し重い。肩がこるほどでは無いので許容範囲。 たまに振動する。鎖骨のあたりがムズム
システムドライブ(C:)の空き容量が少なくなってきた場合、ストレージを増設しドキュメントフォルダなどの場所を移動させると、容量不足を解消することが出来ます。 手順 ドキュメントフォルダ上で右クリック⇒「プロパティ」⇒「場所」のタブ 「移動」
コマンドラインからGoogle翻訳を実行することが出来るようなので試してみました。 インストール sudo apt install translate-shell aptパッケージで楽々インストール 実行例 echo Jacket tr
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
ASP.NETが稼働しているサーバーの特定のディレクトリ下にあるファイルの一覧をJSON形式で返すサンプルプログラム。 プロジェクトの作成 mkdir AspMvcFileList cd AspMvcFileList dotnet new
ソースコード using System; using System.Windows.Forms; using System.Drawing; /* **************************************** リストビュ
monoは.NET Frameworkの互換ですのでDirectory.GetLogicalDrives()でドライブの一覧が取得できるはずです。 ただ、ドライブはWindowsの概念でUbuntuには存在しません。実行するとどのような結果
たまたまUbuntuのデスクトップ環境があるのでPowerShellをインストールしてみたいと思います。 サポート情報 インストールしようとしているUbuntu22.04はサポートされているようです。 Ubuntu 22.04 (Jammy
Ryzen7 5700XでWindows11なメインPCとRyzen5 7600でUbuntu22.04のサブPCで常設するデスクトップPCが2台となりました。 PCケースは手製のPCデスクの足元にミニタワーケースが2台設置出来るようにして
ディレクトリ:/usr/lib/mono/4.7.1-api/ Accessibility.dll Commons.Xml.Relaxng.dll CustomMarshalers.dll Facades I18N.CJK.dll I18N
ファイルアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FileIcon; public partial class F
フォルダーアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FolderIcon; public partial clas
Windows10には「Microsoft Print to PDF」という仮想プリンターが標準でインストールされています。 使い方は、アプリケーションの印刷機能で印刷先のプリンターに「Microsoft Print to PDF」を選ぶと
Ubuntu22.04のデスクトップを使っていてアプリケーションなどのソフトをソースコードからビルドした実行ファイルを起動することがあります。ターミナルから実行するスクリプトを組むようにしていますが、少し面倒なのでWindowsの様にデスク
注文した翌日パーツが届きました。 すぐに組んであげないとパーツの旬が過ぎてしまいますので、休日の早朝AM3:00から組み始めました。 既存のパソコンからケースと電源、グラフィックボード、M.2-SSDを流用しました。 比較的古い設計のマイク
ListViewでShiftキーやコントロールキーを使って複数アイテムを選択した状態を検出する方法調べてみました。 プロジェクトの作成 ソースコード ファイル名:FileEntity.cs public class FileEntity {
昨日、Ryzen5 7600を注文した記憶がうっすらあり、注文履歴をみてみたら以下の商品を注文しているようです。 AMD Ryzen 5 7600, Wraith Stealth Cooler ASRock マザーボード B650M PG
SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。 プロジェクトの作成 mkdir SystemIconSample cd SystemIconSample dotn
ファイルサイズが以下のようなPNGファイルがあります。 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2024/05/01 9:53 463681 2