プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

C#

C#からPythonを呼び出し外部APIとして利用する

C#のGUIとPythonの幅広いライブラリを協業したい Windows向けのデスクトップアプリを作るにはC#がとても安定していて使いやすいのですが、Pythonの幅広いライブラリの便利さも手放せません。 そこで、この二つの良いとこどりが出来ないか、検討しました。C#…

C#でSerial通信をする

C#でArudinoと通信したい ArduinoはGPIOがあるため、モーターやLEDを駆動したりスイッチの状態や電圧を読んだりすることが出来ます。 一方、C#ではWindows上でリッチなGUIアプリを構成することが出来ます。 これらを組み合わせることが出来れば、Windowsか…

C#でLogをとったり暗号化したり

C#

アプリの動作Logをとりたい アプリのdebugには動作Logを確認することが重要です。 Logとはテキストファイルとして動作させようとしたこと、した結果などが記載されたものです。 テキストファイルなのでStreamWriterで必要に応じて記載してもいいのですが、C#…

ESP32でwebサーバーを作る

ESP32でIOTにWebとかUIとか作ってみた ESP32でつくったローカルサーバーにWebからアクセスしてLEDを操作するやつ、さらにこれをWindowsアプリでも出来るようにする基本技術を身に着けた。 pic.twitter.com/g0gyd20dgl— とりてん (@s51517765) 2022年2月11日 …

XY座標上で四角形を構成する頂点が右回りか左回りか?

4頂点を左回りに並べ替える C#で台形補正を以前作ったのですが、このアルゴリズムでは頂点を左上から左回りに並べる必要があります。 s51517765.hatenadiary.jpつまり、XY座標上で4つの頂点により形成される交差しない4つの線分による四角形があるとして、こ…

C# dataGridViewとキャストと型変換のあれこれ

C#

いろいろはまった C#においてExcellのように扱えるオブジェクトdataGridViewですが、扱いにはクセがあります(仕様であり個人の感想でしかなく、仕様嫁)。 セルの値を数値解釈(変換)できるかどうか セルに値を入力したときは基本的に文字列として受け取り…

テキストファイルの文字コードを判別する

文字コードを正しく判別しないと文字化けする C#でテキストファイル(.txt)からテキストを読み込むときに文字コードを正しく判別できないことによって文字化けすることがあります。 多くのテキストファイルはBOM(Byte Order Mark)という、先頭の数Byteに文…

C#で画像の台形補正をする

C#

射影変換と言うらしいです デジカメやスマホで、ブログ用の写真を撮っているときに、ライティングの映り込みなどを気にして斜めに写真をとると被写体が台形にひずみます。 これを補正するのを台形補正とか射影変換といいます。 C#でもOpenCVで実装されている…

C#で隠しコマンドを作る

C#

FormでKeybordからの入力を受け取りたい KeyDown(またはKeyUp、KeyPresでも可)イベントを使うと、例えば「Ctrl」+「s」のようなキー入力コマンドを受け取ることが出来ます。 これをうまく使うと隠しコマンドのようなものを作ることが出来ます。 これが何が…

Twitterのアクセストークンとは何なのか?

C#

Twitterクライアントアプリを作って公開したい C#のTwitterモジュールであるCoreTweetを例にサンプルコードを示します。以下がよくあるTokenを取得してTweetするまでのサンプルコードです。 API key、API secret、Access token、Access token secretをTwitte…

C#でPNGの透過処理する

C#

PNGNの透過処理をしたい PNG形式画像には透過処理というものがあります。 Windowsのアイコンで、余白を透過にすると背景であるデスクトップが透過したり、Openshotでも画像の透過処理が有効で重ねて表示させることが出来ます。C#では、以下のように、RGBの色…

Openshotで読み込めないファイルがある

C#

読み込めないJPEGファイルがある動画は(いまのところ)問題なく読み込めて編集もできるのですが、画像(JPEG)が読み込めない場合がありました。 プロジェクトファイルの一覧でもプレビューがでないし、タイムラインに乗せても画像が表示されません。 しか…

画像処理ソフトEasyRetouchの改良

C#

s51517765.hatenadiary.jp s51517765.hatenadiary.jp s51517765.hatenadiary.jp自作の画像処理ソフト「EasyRetouch」ですが、これまでは画像サイズを一律に900 x 900px以下に縮小していました。 これはもともと編集内容がPC画面内で表示できるサイズ、を基準…

MacアドレスからVenderを調べるには二分探索…とも言い切れない

C#

MacアドレスはCPUに対して一意(まれに適当で重複があったりすることがあります)に付与されていてその上位6桁(24bit)がVenderコードになっています。 MacアドレスとVenderの対応はIEEEにリスト化されているので、これを用いてMacアドレスからVenderを探す…

ちょっとわかりにくいC#のListview

C#

ListviewとはExcelの表のようなオブジェクトです。 表を作りたいときに使いたくなるオブジェクトですが、思うような形になかなかならないので、基本の手法をまとめました。ListViewオブジェクトの作成ツールボックスからListViewを選択し、適当な大きさに広…

C#でForm1からForm2を参照する

C#

C#でFormを複数作ったときに他のFormのデータ(変数やオブジェクトの中身)にアクセスしたいときがあると思います。 しかし、アクセスが拒否されてどうするんだっけ?となります。下図はForm2からForm1のテキストボックスの中身を取得しようとしてはじかれて…

C#で画像にぼかしをいれる

C#

画像処理アプリに新しい機能を追加。画像にぼかしを入れられるようにした。 pic.twitter.com/SqEwAF8oJS— プログラミング素人 (@s51517765) 2020年8月9日 ブログにスクリーンショットを載せるときに、映り込ませたくないものがあるときに一部分にぼかしを入…

C#でボタンに画像を設定する

C#

Visual StudioによるC#のアプリ製作では、ボタンに画像(アイコン)を設定することが出来ます。 しかしながら、この画像の設定はボタンのプロパティのImageで設定する方法とBackgroundImageで設定する方法があります。 基本はImageでいいようですが、画像の…

OSC2020 Online/SpringをYouTubeで聴講

あっきぃさんが紹介されていたので、GW(がまんういーく)だしいくつか聴講しました。 akkiesoft.hatenablog.jpYouTubeで見れるのは↓。全部ではないみたいですが。 www.youtube.comどんなものがあるかは↓のタイムテーブルのほうがわかりやすいです。 event.o…

プログラミングに使ってるアプリを紹介します

私が普段気に入って使っているツールを紹介します。プログラミング・Anaconda Pythonの環境です。 Python自体のインストールに加えてDefaultでは入っていない便利なモジュールが一度に構築できます。(32bit/64bitの選択をお間違いなく) www.anaconda.com・…

C#で作った画像処理アプリを改良した

C#

こちらの記事で紹介したアプリを改良しました。 s51517765.hatenadiary.jpこの中で「四角い枠を書くときにマウス(MaouseMove)に追従してマウスのボタンを離したときに確定する」というのをやりたかったのですが、うまくできなかったのですがちょうど同じこ…

C#で画像処理アプリを作った

C#

ブログ用の簡単な画像処理ができるアプリを作りました。C# で画像処理アプリを作りました。・クリップボードから画像を取り込む・画像ファイルから画像を読み込む・適切な大きさに縮小する・周囲を囲む・四角く塗りつぶす・トリミングする・保存するときに自…

C#でタスクトレイ常駐型のアプリを作る

C#

C#でWindowsアプリを作るときに、UIが不要でタスクトレイ常駐タイプのアプリを作りたいときがあります。 以前作ったタイムカードなどもそうです。 s51517765.hatenadiary.jpここでは、タスクトレイ常駐タイプのアプリの設定の仕方を説明します。工程(じゃ~…

C#で複数のデータをreturnする

C#

C#で関数を作っていると、複数のデータをreturnしたい場面があります。複数のreturnというとコーディング上、大きく2つの意味合いがありますが、一つ目は簡単で文字通り条件によって複数のreturnのいづれかが実行されます。 private double function(double…

C#でブロック崩しを作った

C#

C#で(簡単な)ブロック崩しゲームを作ってみました。ただしGame Overは実装されていません。C# でブロック崩しゲームを作りました。ちなみにGame Overにはならない。 pic.twitter.com/mz5BbvfZ2a— プログラミング素人 (@s51517765) 2019年5月9日ここで、簡…

プログラミング素人がプログラミングを勉強した方法

理系ですが専門的にプログラミング(情報工学)を学んだわけではない私が、趣味の範囲とはいえプログラミングを勉強した方法をまとめました。中の人のスペック・国立大理系修士卒(理学系物理) ・メーカー勤務10数年(3社目) ・非ソフトウェアエンジニ…

C#でもSeleniumは使える

C#

以前pythonでブラウザの自動制御を試しましたが、その時使ったseleniumは他のプログラミング言語にもパッケージが提供されています。 s51517765.hatenadiary.jp s51517765.hatenadiary.jpそこで、C#でseleniumを使ってみました。Visual Studioでseleniumを設…

C# textBoxのscrollBars=BothはWordWrap=Falseにする

C#

C#(VisualStudio)でMultiline(複数行入力可能)のtextBoxを作りたいとき、スクロールバーを付けたいことがあります。 スクロールバーはtextBoxのプロパティからscrollBars=Bothとすると思いきや、上手くいかないのです。 上図の右はscrollBars=Bothとした状…

オブジェクト指向でなぜつくるのか

オブジェクト指向でなぜつくるのか 第2版作者: 平澤章出版社/メーカー: 日経BP社発売日: 2011/04/07メディア: 単行本購入: 6人 クリック: 92回この商品を含むブログ (20件) を見るオブジェクト指向という言葉はプログラミングをやっている人で知らない人はい…

ソフトウェア公開時に気を付けたいこと

C#

プログラミング中級者って何できればいいの?FW作れるとか?— たべたつ (@ttabtt3) 2018年12月5日 バグのないシステム、という文脈がヤバそう — たべたつ (@ttabtt3) 2018年12月5日ソフトウェアというのは、会社を作らなくても、工場を持たなくても作れてし…