カーソルキーの上下左右をおすと進行方向に図形が回転され移動するようにしてみました。 ソースコード namespace Kaiten02; public partial class Form1 : Form { public Form1()
自作パソコンパーツやスマホ関連の商品を紹介するブログです。
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
Graphics.TransformのMatrixの中身を覗いてみる3「上下左右移動」
Translate()を使って図形を上下左右移動した際の変換後の座標をTransformPoints()を使って確認してみます。 using System.Drawing.Drawing2D; namespace PageTrance01;
1000ミリ秒(1秒)で60回の処理を行いたい場合、1回に使える時間をミリ秒で計算したいと思い調べてみました。 たとえば電卓で1000を60で割ると16.66666666666667となります。少数が使えればこれでよいのですが、整数値のみで
Pythonスクリプトをexe化するPyinstallerを試した話
Pythonスクリプトのexe化を試してみます。 Pyinstallerをインストール powershellでpipを使ってpyinstallerパッケージをインストール pip install pyinstaller 動作確認 PS F:
ペイントイベントで移動・回転・拡大するサンプルを作りました。 namespace PictureBox03; public partial class Form1 : Form { public Form1() { InitializeCo
C#のWinFormsでCtrl+Vで画像を貼り付けてドラックアンドドロップで取り出す。
クリップボードにコピーされている画像をCtrl+Vでフォームに貼り付けファイル名を日時.pngで自動保存。画像をドラックすると保存されたPNGファイルを他のアプリケーションへドロップ出来るようにします。 想定される使い方として、アプリケーシ
Ubuntu22.04をアップデートしたらRTX3060のドライバーが機能しなくなった話
Ubuntu22.04をインストーしたPCでOSの定期的なアップデート実行したところ、デスクトップの解像度が低解像度になっておりグラフィックドライバーが機能していない現象に遭遇しました。 比較的最近マザーボードとCPUを交換したPCですので
資料に説明用の簡単な図形を作成する必要があり、何か良いツールは無いかと検討しています。 図形の画像形式としてラスター(ビットマップ)よりベクターの方がよいであろうと考え、それであればInkscapeを試してみようと思いました。ということでI
z88dkはz80ベースのコンピュータ向けのCコンパイラやアセンブラの開発環境です。 こちらをWindows11にインストールした記録になります。 z88dkのダウンのロード Nightly Buildのリンク先からz88dk-win32-
ラジオボタンの使い方を確認します。 namespace RadioSample01; public partial class Form1 : Form { public Form1() { InitializeComponent(); v
ステータスバーの使い方を確認します。 namespace StatuBarSample01; public partial class Form1 : Form { public Form1() { InitializeComponent(
C#のWinFormsでメニューの項目にチェックマークをつけてみる。
アプリケーションが持つ機能のONとOFFの切り替え用にメニュー項目にチェックマークをつけるサンプルプログラムを作成してみます。 namespace MenuSample01; public partial class Form1 : For
C#のwinformsでログ表示用にテキストボックスを読み取り専用にしてみる。
ログ表示用のテキストボックスを作成してみます。 namespace LogView01; public partial class Form1 : Form { public Form1() { InitializeComponent();
マウスボタンのダウン、アップイベントと移動イベントのマウス座標をもとに矩形領域を作成しPathで描画しています。 矩形選択機能の試作ということで座標系の動作確認用としてプログラムを作成してみみました。 using System.Drawin
ワールド変換を使うと画像を回転することが出来るということなので、サンプルプログラムを作成してみたいと思います。 namespace PictureBox02; public partial class Form1 : Form { publ
C#のPictureBoxでImageをセットしない状態で図形を描画
PictureBoxを使う場合ImageプロパティにImage(Bitmap)オブジェクトをセットする使い方をしています。 ただ、ベースとなるコントロールはPaintイベントでGraphicsオブジェクトに対して図形を描画することができるの
pythonのtkinterでスケール(トラックバー)を試す
# tkinter10.py # スケール(トラックバー)のサンプル import tkinter as tk class Application(tk.Frame): def __init__(self, master = None):
標準出力は意識しなくともコンソールに文字を表示する為にConsole.WriteLine()使っていました。 では標準入力はC#でどのようにして使うのでしょうか? 以下はのサンプルプログラムは標準入力で入力された文字列をそのまま標準出力へ出
Windows11環境のMSYS2でQtのビルド環境を導入してAnimeEffectsをビルドした話
AnimeEffectsという静止画から動画を作成するキーフレームアニメーション作成ソフトを使っているのですが、Windows11でソースからビルドする環境を作ろうと思います。 AnimeEffectsは使われている言語がC++でGUIなど
pythonのtkinterでドラッグアンドドロップで画像を表示するイメージビューワー
ドラッグアンドドロップとキャンバスを組み合わせて画像を表示させてみたいと思います。 # tkinter09.py # ドラッグアンドドロップで画像を表示するイメージビューワー import tkinter as tk from tkinte
pythonのtkinterでエントリー(テキストボックス)を試す
文字を入力を試します。 # tkinter08.py # エントリー(テキストボックス)のサンプル import tkinter as tk class Application(tk.Frame): def __init__(self, m
「実行」Buttonを押すと文字列が表示されるスクリプトを作成しました。 # tkinter07.py # ボタンのサンプル import tkinter as tk class Application(tk.Frame): def __i
tkinterでメニューバーの設定を試してみました。 # tkinter06.py # メニュー import tkinter as tk class Application(tk.Frame): def __init__(self, ma
メッセージボックスを試してみます。 showinfo from tkinter import messagebox r = messagebox.showinfo(title="タイトル", message="
PowerShellでPicturesフォルダのスクリーンショットファイルを日付フォルダに分類する。
Windows10あたりからスクリーンショットをバンバン活用するようになり、スクリーンショットフォルダに多量の画像が溜まるようになりました。 日付フォルダを作成しそちらにファイルを移動するスクリプトを作成してみました。 <# .SYN
Ubuntuでxclipを使いpythonからクリップボードへ画像をコピー
pythonでクリップボードへ画像をコピーする方法を探していてxclipを使う方法に行き着きました。 まずxclipをインストール sudo apt install xclip 次にxclipで画像ファイル→クリップボードへコピーする動作を
C#のwinformsで画像ファイルのPixelFormatからビット深度を確認する。
BitmapオブジェクトのPixelFormatを見てビット深度(1ピクセルのビット数)確認出来ます。 using System.Drawing; using System.Drawing.Imaging; class Program {
C#のLinqで配列の並べ替え2「クラスのプロパティをキーにソート」
番号(No)と名前(Name)を持つクラスのオブジェクトの配列(List<>)をNoをキーにソートしてみます。 namespace SortSample1; public class ToDouFuKen { public in
C#のconsoleでOpenCVSharpのウィンドウとトラックバー
C#のコンソールのプロジェクトでもOpenCvSharpのウィンドウを表示することが出来るようなので試してみました。 プロジェクトの作成 mkdir プロジェクト名 cd プロジェクト名 dotnet new console dotnet
pythonのtkinterでcanvasに画像ファイルを読み込み表示
画像ファイルを読み込み表示するサンプルプログラムを試して見ました。 # tkinter04.py # canvasで画像ファイルを表示 import tkinter as tk root = tk.Tk() root.geometry(&q
エクスプローラーなどからファイルをドラックアンドドロップしてファイルのパスをコンソールを出力するだけのサンプルスクリプトを動かしてみます。 サンプルスクリプト # tkinter03.py # ドラッグアンドドロップのサンプル # モジュー
AnimeEffectsのイージングのデフォルト値を「正弦曲線」に変更する。
UbutnuでAnimeEffectsをインストールして使っています。 デフォルトのイージングは「リニア」になっていますが個人的に「正弦曲線」を使うことが多いので、ソースコードを変更してみました。 変更箇所 ファイル /src/util/E
tkinterのウィジェット(Label,ButtonなどGUIを構成する部品。別の文化ではコントロールとも)の配置を確認するためラベルを作成してみます。 # tkinter02.py # ラベルのサンプル import tkinter a
tkinterモジュールを使うとpythonでGUIを作ることが出来るらしいので試してみます。 とりあえずウィンドウを作るサンプルスクリプトを作成してみます。 import tkinter as tk class MyFrame(tk.Fr
mono環境のC#で簡易イメージビューア2「ホイールで拡大縮小」
マウスホイールで拡大縮小する機能を追加してみました。 // picview2.cs using System; using System.Drawing; using System.Drawing.Drawing2D; using Syst
現行、常設しているPCでUbuntuをインストールしている自作PCが1台あります。 CPUがRyzen5 7600でGPUがRTX3060(12GB)の構成で、生成AI系のソフトを動かす為に自作PCで組みました。 GUIをインストールすると
C#でBitmapオブジェクトのRGBAの並び順を確認する。
C#のWinFormsで画像を扱う場合Bitmapオブジェクトが使われます。こちらをピクセル単位に高速でアクセスする方法として、Bitmapオブジェクト内のピクセルの配列をバイト配列(byte[])へコピーし、コピーした配列をC#からアクセ
フォームへ画像ファイルをドラッグアンドドロップするとグレースケールへ変換された画像が表示されます。 // ToGrayscale01.cs using System; using System.Drawing; using System.W
画像ファイルをフォームへドラッグアンドドロップすると色が反転された画像が表示されます。 // InvertImage01.cs using System; using System.Drawing; using System.Windows
昇順で並べ替え class Program { static void Main() { byte[] byteArray = {5, 3, 9}; var s = byteArray.OrderBy(a=>a); Console.W
class Program { static void Main() { byte[] byteArray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int start = 1; int end = 3; int
AnimeEffectsは静止画から動画を作成するキーフレームアニメーション作成ソフトです。 イージング項目などの選択肢がどのような効果として現れるか確認します。 イージング イージングは、物体をA地点からB地点へ移動させる場合、時間軸と移
フォームに画像ファイルをドラッグアンドドロップするとフォーム上に画像が表示されます。 // picview.cs using System; using System.Drawing; using System.Windows.Forms;
日々の生活の支払いはキャッシュレスを心掛けているのですが、唯一かかりつけのクリニックは現金オンリーでした。最近通院してみたところ各種電子マネーが対応したとの張り紙があり、さっそく支払いでクレジットカードを使って支払ってきました。 キャッシュ
リストビューのクリアを試してみます。 // listview03.cs // リストビューのクリア using System; using System.IO; using System.Drawing; using System.Wind
Ubuntuの文字が小さいのでスケーリングで拡大していたがアクセシビリティで大きな文字にした話
液晶ディスプレイの解像度が3840x2160で32インチのサイズだとスケーリング100%だと筆者の目には文字が小さすぎます。 解像度を1920x1080に落とすと文字サイズはちょうど良い感じになりますが全体がぼやけた感じなります。 スケーリ
リストビューの項目を削除してみます。 // listview02.cs // アイテムの削除 using System; using System.Drawing; using System.Windows.Forms; /* ビルド mc
リストビューで項目を選択した際実行されるイベントを確認してみる。 // listview01.cs using System; using System.Drawing; using System.Windows.Forms; /* ビルド
C#のmonoでダイアログボックスでメッセージボックスもどきを作る。
筆者のubuntu環境でメッセージボックスを表示するとボタンの文字が半分見切れてしまいます。 OSのフォントのスケーリングを200%に設定しており、100%にするときちんと表示されるので、スケーリングに追随していないことが原因と思われます。
メニューの「色」→「カラーマッピング」→「色交換」 1.色を置き換えたい部分を範囲選択する 2.メニューから色交換を呼び出す。 From Colorで置き換え元の色を指定。(右側のスポイトのアイコンをクリックすると画像から色を取得することが
Ubuntuでswapファイルを追加してメモリ不足を回避した話
UbuntuでAnimeEffectsというソフトを使っていて、こちらのソフトは静止画から動画を作成するソフトなのですが、動画の書き出しで失敗しアプリケーションが強制終了することがありました。再現性があるので原因を調べてみることにしました。
住宅事情により、ワイヤレスヘッドフォン(ヘッドセット)を使っていましたが、バッテリーが持たなくなってきたので、ネックスピーカーを試してみました。 よくない点 少し重い。肩がこるほどでは無いので許容範囲。 たまに振動する。鎖骨のあたりがムズム
Winodws10(11)でドキュメントフォルダの場所を移動する方法
システムドライブ(C:)の空き容量が少なくなってきた場合、ストレージを増設しドキュメントフォルダなどの場所を移動させると、容量不足を解消することが出来ます。 手順 ドキュメントフォルダ上で右クリック⇒「プロパティ」⇒「場所」のタブ 「移動」
コマンドラインからGoogle翻訳を実行することが出来るようなので試してみました。 インストール sudo apt install translate-shell aptパッケージで楽々インストール 実行例 echo Jacket tr
Ubuntu22.04DesktopでIOPaintのインストール記録
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
Ubuntu22.04DesktopでIOPaintのインストール記録
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
ASP.NET MVCでJSON形式でファイルの一覧を返す。
ASP.NETが稼働しているサーバーの特定のディレクトリ下にあるファイルの一覧をJSON形式で返すサンプルプログラム。 プロジェクトの作成 mkdir AspMvcFileList cd AspMvcFileList dotnet new
ソースコード using System; using System.Windows.Forms; using System.Drawing; /* **************************************** リストビュ
Ubuntu22.04上のmonoでドライブの一覧を取得してみる。
monoは.NET Frameworkの互換ですのでDirectory.GetLogicalDrives()でドライブの一覧が取得できるはずです。 ただ、ドライブはWindowsの概念でUbuntuには存在しません。実行するとどのような結果
Ubuntu22.04にPowerShell7をインストールした話
たまたまUbuntuのデスクトップ環境があるのでPowerShellをインストールしてみたいと思います。 サポート情報 インストールしようとしているUbuntu22.04はサポートされているようです。 Ubuntu 22.04 (Jammy
Ryzen5 7600とB650マザーボードDDR5メモリを注文した話。3「KVM切替器」
Ryzen7 5700XでWindows11なメインPCとRyzen5 7600でUbuntu22.04のサブPCで常設するデスクトップPCが2台となりました。 PCケースは手製のPCデスクの足元にミニタワーケースが2台設置出来るようにして
ubuntu22.04のmono環境でインストールされているdllの一覧
ディレクトリ:/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」を選ぶと
Ubuntuでアプリケーションのショートカットを作成してみる。
Ubuntu22.04のデスクトップを使っていてアプリケーションなどのソフトをソースコードからビルドした実行ファイルを起動することがあります。ターミナルから実行するスクリプトを組むようにしていますが、少し面倒なのでWindowsの様にデスク
Ryzen5 7600とB650マザーボードDDR5メモリを注文した話。2「セットアップ」
注文した翌日パーツが届きました。 すぐに組んであげないとパーツの旬が過ぎてしまいますので、休日の早朝AM3:00から組み始めました。 既存のパソコンからケースと電源、グラフィックボード、M.2-SSDを流用しました。 比較的古い設計のマイク
ListViewでShiftキーやコントロールキーを使って複数アイテムを選択した状態を検出する方法調べてみました。 プロジェクトの作成 ソースコード ファイル名:FileEntity.cs public class FileEntity {
Ryzen5 7600とB650マザーボードDDR5メモリを注文した話。
昨日、Ryzen5 7600を注文した記憶がうっすらあり、注文履歴をみてみたら以下の商品を注文しているようです。 AMD Ryzen 5 7600, Wraith Stealth Cooler ASRock マザーボード B650M PG
SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。 プロジェクトの作成 mkdir SystemIconSample cd SystemIconSample dotn
PNG形式の画像ファイルをWebP形式へ変換してファイルサイズを確認する。
ファイルサイズが以下のようなPNGファイルがあります。 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2024/05/01 9:53 463681 2
チャプタースキップ機能を付与しようと試行錯誤してみましたが、C#でチャプターを取得する機能を見つけることが出来ませんでした。 仕方がないので外部コマンドとしてffprobe.exeを実行し、標準出力からテキストを正規表現でパースしchapt
ゆっくりMovieMaker4(以降YMM4)で動画を作っていて、素材となる動画ファイルをAnimeEffectsで作成しています。AnimeEffectsはキーフレームアニメーションを作成するソフトウェアで、静止画を動画として動かすことが
最近見知らぬ電話番号からの着信が多い「+800-3361-XXXX」
スマートフォンを機種交換してから常時マナーモードをにしているため、着信に気が付かないことがあります。不在着信のメッセージを見ると折り返し電話を掛けるか判断するため、とりあえず電話番号をネット検索してみるのですが、企業の営業の電話や無作為アン
NuGetで公開されているパッケージをインストールしてPowerShellで使ってみる。
NuGetで公開されている.NetのライブラリをC#でよく使わせていただいています。 .NetのライブラリはPowerShellからも呼び出せるはずなので、ためしてみました。 今回は、NuGetで見つけた動画などのメディアファイルにタイトル
C#で画像ファイルをリサイズ(拡大・縮小)するCLIコマンド
コマンドラインから画像ファイルをリサイズ(拡大・縮小)します。 プロジェクトの作成 mkdir ResizeImage cd ReizeImage dotnet new console dotnet add package System.C
コマンドラインで画像ファイルをグレイスケールに変換します。 プロジェクトの作成 mkdir ToGray cd ToGray dotnet new console dotnet add package System.CommandLine
C#のコマンドライン引数をパースするライブラリ「System.CommandLine」を試す。
CLIのアプリケーションを作成していて実行時のパラメータをコマンドライン引数として渡す必要が出てきました。 コマンドライン引数は、アプリケーションのエントリーポイントであるMainメソッドの引数として文字列の配列として渡されます。 ファイル
C#のWinFormsでZipファイルのコメントを編集する。
.NETのZipArchiveがいつの間にかコメントのプロパティが出現していたので(昔からあった?)Zipファイルのコメントを編集するフォームを作成してみました。 ソースコード ファイル名:Program.cs using System.I
Pythonで作成されたシステムを動かす場合、必要となるパッケージをインストールし環境構築をする必要があります。 パッケージのバージョンが競合する場合を想定してvenvなどで仮想環境を構築し、そちらにパッケージをインストールする方法がありま
PythonでOpenCVやnumpyを使って画像を加工するフィルターいろいろ
OpenCVには多数の画像フィルターがあります。また、numpyを使うと画像をピクセル単位で加工するフィルターを作成することが出来ます。個人的によく使う画像フィルター類をまとめたいと思います。 ライブラリのインポート import cv2
C#のWPFでリストビューでアイテムの選択とコンテキストメニュー2「ヘッダークリックでソート」
前回の問題点として右クリックで表示するコンテキストメニューやダブルクリックの検出がリストビューのアイテム以外でも動作してしまう点がありました。ネット検索して解決方法を探しプログラムに組み込んでみました。また、リスてビューの項目のヘッダーをク
C#のWPFでListViewの選択項目とテキストボックスをバインドする。
いまいち理解できていないのですが、コードを書いてみたら思った通りに動作したので記事にしてみました。 ソースコード ファイル名:FileEntity.cs using System.ComponentModel; using Reactive
Python-OpenCVで画像の拡大でOutOfMemoryErrorが発生してメインメモリーの増設したいと思った話
メインメモリーを64GB搭載しているPCで画像ファイルを拡大処理をしていたところOutOfMemoryErrorが発生しました。 元が1000x1000ぐらいの解像度の画像を256倍は通りましたが、300倍ではエラーになります。 そんなに大
前回別ウィンドウを表示することはできましがた、別ウィンドウで入力した値へアクセスする方法がしっくりこない感じでした。 ソースコード ファイル名:MainWindow.xaml <Window x:Class="DialogS
C#のWPFでリストビューでアイテムの選択とコンテキストメニュー
リストビュー上でマウスをクリックし、ビューモデル側で該当するアイテムを検出する方法を考えてみます。 ソースコード ファイル名:FileEntity.cs namespace ListViewOnClick; public class Fil
スマホの機種変更をした記録「Motorola moto g24」
Amazonを眺めていたらお手頃価格のSIMカードが2枚搭載可能なスマートフォンが販売されいたので機種変更しました。 それまで使っていた機種と比べてメモリーが増えたおかげかアプリケーションの起動が速く操作性は良好です。 タップ後一呼吸まって
Windows11のエクスプローラーで右クリックメニューからPowerShellスクリプトを実行する方法
「Custom Context Menu」というアプリケーションを使うとWindows11のエクスプローラーの右クリックメニューに任意のアプリケーションを登録することが出来ます。 アプリケーションが登録出来るということは、「pwsd.exe
「ブログリーダー」を活用して、84さんをフォローしませんか?
カーソルキーの上下左右をおすと進行方向に図形が回転され移動するようにしてみました。 ソースコード namespace Kaiten02; public partial class Form1 : Form { public Form1()
図形を0度、90度、180度、270度に回転し左から順番に4つ重ならないように横方向へ並べて表示したい。 結果 ソースコード using System.Drawing.Drawing2D; namespace Kaiten01; publi
ラプラシアンフィルタで境界線抽出を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ラプラシアンフィルタ(Form1のメンバーとして追加) readonly ToolStripMen
直線検出を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) readonly ToolStripMenuItem houghMenuItem = new() { Text = "
バイラテラルフィルタ機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) readonly ToolStripMenuItem bilateralMenuItem = new() {
LUTを使ってガンマ補正を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ガンマ補正(Form1のメンバーとして追加) readonly ToolStripMenuItem gam
画像ファイルをドロップしてください
LUTを使って減色処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // 減色処理(Form1のメンバーとして追加) readonly ToolStripMenuItem dietC
とりあえずサンプルプログラム。 namespace TrackBarLock01; public partial class Form1 : Form { readonly Label _trackValueLabel = new() {
ノンローカルミーンフィルタ行うフィルター機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ノンローカルミーンフィルタ(Form1のメンバーとして追加) readonly To
2値化を行うフィルター機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // 2値化(Form1のメンバーとして追加) readonly ToolStripMenuItem thr
グレースケール化を行うフィルター機能を追加します。 前回の記事 パッケージの追加 cd GazouKakou01 dotnet add package OpenCVSharp4 dotnet add package OpenCVSharp4
画像加工アプリケーションを作成します。 今回はメインとなるフォームにドラックアンドドロップで画像表示、Ctrl+Cでクリップボードへコピー、メニューで画像の拡大機能を作成してみました。 プロジェクトの作成 < pre>mkdir
Translate()を使って図形を上下左右移動した際の変換後の座標をTransformPoints()を使って確認してみます。 using System.Drawing.Drawing2D; namespace PageTrance01;
1000ミリ秒(1秒)で60回の処理を行いたい場合、1回に使える時間をミリ秒で計算したいと思い調べてみました。 たとえば電卓で1000を60で割ると16.66666666666667となります。少数が使えればこれでよいのですが、整数値のみで
Pythonスクリプトのexe化を試してみます。 Pyinstallerをインストール powershellでpipを使ってpyinstallerパッケージをインストール pip install pyinstaller 動作確認 PS F:
ペイントイベントで移動・回転・拡大するサンプルを作りました。 namespace PictureBox03; public partial class Form1 : Form { public Form1() { InitializeCo
クリップボードにコピーされている画像をCtrl+Vでフォームに貼り付けファイル名を日時.pngで自動保存。画像をドラックすると保存されたPNGファイルを他のアプリケーションへドロップ出来るようにします。 想定される使い方として、アプリケーシ
Ubuntu22.04をインストーしたPCでOSの定期的なアップデート実行したところ、デスクトップの解像度が低解像度になっておりグラフィックドライバーが機能していない現象に遭遇しました。 比較的最近マザーボードとCPUを交換したPCですので
資料に説明用の簡単な図形を作成する必要があり、何か良いツールは無いかと検討しています。 図形の画像形式としてラスター(ビットマップ)よりベクターの方がよいであろうと考え、それであればInkscapeを試してみようと思いました。ということでI
Python-Fuで扱うことが出来るレイヤー関連のプロシージャを調べてみました。アクティブレイヤーを取得layer=pdb.gimp_image_get_active_layer(image)レイヤーオブジェクトのプロパティで名前を取得la
pythonでffmpegを扱う場合もっぱら外部コマンドとしてffmpeg.exeを呼び出していましたが、ffmpeg-pythonというパッケージがあるようなので試してみたいと思います。動画から静止画を出力し拡大処理を行い再び動画を作成す
日本語を含むパスをos.mkdir()でディレクトリを作ろうとすると文字化けが発生しました。ただ、日本語を含むパスの画像ファイルを開いたり保存したりすることは出来るので、根本的な解決は自分には無理そうに感じました。アルファベットの場合は問題
GIMPのパスをsvgファイルとしてエクスポートすることが出来るようなのでスクリプトを作成してみました。出力先はxcfファイルが保存されたディレクトリに"xcfベース名\vectors\パス名.svg"形式で作成されます
SVG要素<!DOCTYPEhtml><htmllang="ja"><head><metacharset="UTF-8"><title>SV
GIMPで「境界をぼかす」という機能があるのですが、どのような機能なのか確認してみたいと思います。中心を四角形に削除しファジー選択した状態「選択」→「境界をぼかす」を実行。前景色(白)で塗りつぶした結果。ぼかした効果で、選択範囲の角が丸まり
Windowsのエクスプローラーでファイルの一覧を眺めると何らかの基準で並べ替えがされています。基本的にはファイル名の昇順に並べられてると思います。そうすると一番先頭に来るファイル名はアルファベットであればAですし、そのアルファベットより前
前回のスクリプトからの変更点・方向ごとにスクリプトが4つに分かれていましたが一つにまとめました。・Ctrl-ZでUndoに対応しました。・各種パラメタを変更するGUI。・進捗プログレスバー。・塗りつぶし領域を別レイヤーにしました。#!/us
Python-Fuでピクセル単位のアクセスは遅いイメージがあって半ば使用をあきらめていたのですが、高速にアクセスする記事を見つけました。速度を確認するためにスクリプトを書いてみました。#!/usr/bin/envpython#coding:
溜まったパスを一括で削除します。削除したくないパスはロック?、保護?をかけてください。#!/usr/bin/envpython#coding:utf8##パスの一覧を削除#fromgimpfuimport*fromarrayimportar
WPFでは基本的にXAMLであらかじめViewを静的に定義するわけですが、winformsぽく動的にコントロールを作成する方法を調べてみました。プロジェクトが作成された状態のxamlファイルのGridに名前"Grid1"
垂直又は水平で2色で補完する際、補完する線の色にグラデーションをつけてみました。namespaceInpaintSample3;usingSystem.Diagnostics;usingOpenCvSharp;usingOpenCvShar
線の色にグラデーションをつけてみました。ソースコードusingOpenCvSharp;namespaceconsole3;classProgram1{staticdoubleGetDistance(intx1,inty1,intx2,int
入力値チェック(Validation)サンプルです。必須入力で0より大きい数値で奇数のみ受け付ける入力項目を作成しました。ソースコードファイル名:MainWindow.xaml<Windowx:Class="Validati
2つのx,y座標から2点間の距離を計測します。namespaceconsole2;usingSystem;usingSystem.Xml.Schema;classProgram1{staticdoubleGetDistance(intx1,
ドラッグアンドドロップのサンプルです。プロジェクトの作成ソースコードファイル名:MainWindow.xaml<Windowx:Class="WpfProgram2.MainWindow"xmlns="x
前回からの変更点として、フィルターをONにした状態でコンボボックスのフィルターの種類を変更するとフィルターが切り替わるようにしました。水平(垂直)は単色でしたが始点と終点の2色を使うようにしてみました。その2ファイル名:Form1.csna
プロジェクトがあるディレクトリ内にサブディレクトリを作成し、そちらにソースコードを置くことが出来ます。参照する場合パスを指定する必要は無さそうなので、好きなようにディレクトリの階層をつくることが出来そうです。試してみます。ソースコードプロジ
1つのクラスに機能が集中してしまいコード量が多く大変見通し悪いソースコードになってしまいました。機能ごとに別クラスに分割出来るのであれば良いのでしょうが、諸々の理由でそれが出来ないので同一クラスを別ファイルに分割することが出来る部分クラス(
オブジェクト指向プログラミングは、目的のプログラムの設計が頭の中でしっかり固まっていないと、なかなか取り掛かることが出来ません。自分の場合比較的小さなプログラムで済む要件が多いので複数のクラスを作成することは稀です。また、オブジェクト指向プ