Visual Studio 2019
デスクトップで画像を処理して、それをデータベースに保存したり読み出したりというのは、基本的な事柄だと思います。しかし、現実には、検索してみても、ほとんどそういう記事が出てきません。 自分で調べたり、他の詳しい方に質問したりして、だいたい次の…
今まで C++ を使っていて、最近になって C# を使うようになって、やはりひっかかったのがクラスの考え方です。 Visual Stidio 2019 では、あらかじめ「ひな形」が用意されているので、「だいたいこんな感じのものが作りたい」と考えたときには、その原型にな…
ひとつの「ことがら」について、さまざまな「属性」を考慮しなければならないので、いろいろな「変数」や「関数」がゴチャゴチャしてきました。 こっちを、こういうふうに動かしたい、と考えたときに、あれもこれもみんな調整しなければならないので、ついう…
あたえられた画像があって、「ある範囲の部分を切り取って、別のところに貼り付ける」という作業は、しばしば行う作業だと思います。図面でも、イラストでも、地図でも、「一部を切り取る」というのは、ごく普通のことだと思います。 ところが、プログラムで…
画面上で、マウスを動かして、なにかをクリックしたり、なにかを動かしたりということは、よくやることです。私が現在、作成中のアプリケーションでも、 全体の画面をまず、表示させる その画面上でマウスを動かし、クリックしたところに図形を表示させる さ…
作業するために、大きく表示させたい 年末・年始の間も、時間をつくってプログラミングを継続しています。次第にアプリケーションの形になりつつあります(こういう時期は、だんだんに出来上がっていくので、とても楽しいです)。 下の図は、「だいたいこん…
Visual Studio 2019 の C# NET Core では、NuGet を用いて、PDFium ライブラリを使うことができます。しかし、私が拝見したブログの内容をそのまま実現することはできませんでした。 そうなると、他の方法を考えなければなりません。NuGet のライブラリには…
開発言語を C++ から C# に変更したのは、PDF を読んだり書いたりするライブラリが比較的容易に入手できるからです。具体的には、NuGet というライブラリ集があって、必要なライブラリをここで見つけてインストールのボタンを押せば、それでインストール完了…
C# を使い始めました。「ひな形」は用意されているので、真っ白な画面をひとつだけ出すのであれば、すぐにできます。問題はその後で、「じゃあ、こういうことをやろうと思うんだけど、それって、どこに書けばいいの?」という状態になります。 どうやら、C++…
昨日も書いた、PDF ファイルの読み込みですが、フリーのライブラリがありません。正確にいうと、C++ で使えるライブラリがありません。 強いてやろうとすると、poppler という GNU ライブラリを C++ のために再構築することになります。そのためには、たぶん…
Windows10, Visual Studio 2019, C++ という開発環境で、アプリケーションの開発をしていますが、現時点で「ここまでできた」というものを Youtube に投稿しました。 以下を御覧ください。 画像の表示と拡大・縮小、ワクの設定と移動・拡大・縮小・削除、ス…
昨日の記事で、リソースをどんどん浪費する様子をみていただきました。 Visual Studio 2019 で C++ でアプリを作成しています。 プログラムで使用したリソースは、プログラムの中で開放します。実際にリソースを開放するようにプログラムできたので、画面上…
プログラムを作っていると、作ったプログラムでコンピュータのメモリとかディスクとか、いろいろなものを消費します。あまりたくさん消費しすぎると、コンピュータ全体がモタモタしたり、ひどい場合には、コンピュータ全体が止まってしまったりします。 特に…
「たぶん、リソースの開放がうまくいっていないんだろうなあ」と思っていたのですが、自分では場所が特定できなかったので、いつも頼りにしている teratail で質問してみました。 その結果、実際に不具合のある場所をおしえていただくことができ、アプリの動…
次から次へと、問題が発生します。 Visual Studio 2019 C++ アプリが途中で止まる。困った・・・。 画像にいくつかのワクが表示してあり、カーソルを重なると、その都度、ワクが選択されるようなプログラムを作成しています。 実際には、マウスをうごかすた…
昨日、縮んでしまった画素は、本日、原因が特定できて、きちんと表示できるようになりました。 Visual Studio 2019 C++ 画像スクロールができました 前回、うまくいかなかった原因が特定できました。 具体的には、Draw(x,y,width,height) 等の関数で、height…
今週は、ずっとスクロールバーと格闘しています。 Visual Studio 2019 C++ スクロールで行が縮む 画像を表示させて、上下にスクロールさせる部分を作成しています。 画像は表示できたのですが、スクロールさせると行がだんだん縮んでいきます。 これでは、実…
ごらんのとおり、スクロールバーの表示が成功し、動き始めました。でも、なかなか思い通りには動きません。画面と、うまく連携させるためには、「計算」が必要です。こういう面倒くさい計算を、みなさんやっていたんですねえ・・・。
画像を上手に表示することに成功しましたが、画像は縦長なので、大きく表示すると、下の方が見えなくなります。 そこで、スクロールバーを用いて、画像を動かそうと考えたのですが、これが難しい!! こんな面倒なことをやっていたのかと、びっくりしていま…
画面上で画像を表示したり、四角を書いたり、いろいろと加工しています。その画面を画像として保存できるようになりました。 Attach() という関数が一番大事でした。 // BitBlt_CImage.cpp : アプリケーションのエントリ ポイントを定義します。// #include …
自分自身が覚えておくために、cpp ファイルの中身だけ、掲載しておきます。「裏で描画し、表に一度にコピーする」ということをやっています。 // BitBlt_Test.cpp : アプリケーションのエントリ ポイントを定義します。 #include "framework.h"#include "win…
プログラムを作っていると、わからないことだらけです。そもそも「自分が何が分かっていないのかが分からない」場合も、たくさんあります。質問するにしても、トンチンカンな質問になってしまうことも、たくさんあります。トンチンカンな質問をしてしまうと…
画面のチラチラが無くならない件について、いろいろと試したり、文献を読んだりして、「とりあえず」解決方法を見つけました。 InvalidateRect 関数で、「画面描写が必要だよー」というコマンドを送るのですが、マニュアルをよくよく読んでみると、 BOOL Inv…
VM_MOUSEMOVE でマウスが動いたら、InvalidateRect で「画面の描写が必要だよー」というコマンドを送り、WM_PAINT で実際に画面を描写する。 描写する際には、一時的にメモリ上に Bitmap 領域をつくり、その上で図形等を描写して、最後に BitBlt 関数で一度…
アプリケーションを作っているときに、 ア、このメニューを選択したら、この動きをする。 イ、画面上のこのボタンを押したら、この動きをする。 のように、人間が行う操作は、あっちこっちになります。わたしは、今まで、こういう操作は、メニューのときはメ…
先月くらいから、Visual Studio を利用して、実用的なアプリケーションの制作にとりかかっています。 実は、いままで、Windowsで直接動く「デスクトップアプリケーション」というのは、いまひとつピンとこなくて、うまく作ることができません。 しかし、必要…