CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

PDFアレコレで画面の拡大・縮小・移動ができるようにした

投稿日:

PDFアレコレをバージョンアップ。約4か月ぶり。
Ver3.05 2021/6/20
・PDFの描画位置を左右上下にセンタリングするようにした(以前は左上)。
・Ctrl+マウスホイール上下操作によって、PDF描画を拡大縮小できるようにした。ただし、移動との兼ね合いで一部描画領域が欠けることあり(不具合なのでいずれ直す)。拡大率をステータス領域に表示するようにした。
・Ctrl+マウスホイールドラッグ操作によって、PDF描画を移動できるようにした。
・捺印ボタンを押した際、画面の拡大/縮小/移動の結果を元に戻すようにした(捺印位置の計算がまだできていないため)。
詳細はコチラ。

念願の描画系処理を実装したが、まだ中途半端な状態。これまではPDFの中身を描画できるといっても、ウインドウ領域の中にいっぱいいっぱいで表示するだけで、任意の拡大・縮小ができていなかった。捺印するのに、画面を拡大して狙いの場所をはっきりさせるために実現したわけだが、肝心の捺印ポジションの計算がまだできていないから、捺印ボタン押下時に描画状態を強制リセットするという仕様。いやはや中途半端なり。

画面の拡大縮小移動は、pictureBoxやPDFiumの機能でサクっと実現できないかと調査したが結局できず。仕方なく、マウスイベントを取って、PDFiumのRenderする領域を可変として、pictureBoxの位置を変更した。いろいろやってみてわかったけど、この手の画面制御はこんな感じで泥臭くやるしかない。C#だから、C++と比べたら何をやるにも簡単ではあるが、今回の画面操作はけっこうてこずった。

近々、この中途半端なところを解消しつつ、コマンドラインから捺印できるようにしましょうかね。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

アプリでzip圧縮と解凍をやりたくてzlibを組み込んでみたんだけど。。

でかいファイルは、圧縮してコンパクトに扱いたくなる。 テキスト形式で定義されているファイルをアプリで読み書きする。 テキストは圧縮すれば1/5くらいになるので、その結果小さくなった ファイルをアプリの …

PDFアレコレはiTextSharp7も組み込むことにする

PDFiumViewerを使ってPDFアレコレという名のフリーソフトを作ってみたわけだが、PDFiumViewerの限界が見えてきた。

PDFium第2弾はPDFを画像化するWindowsフォームアプリケーションなり

「PDFium ViewerによるPDFレンダリングがイケてる」では、最低限のWindowsフォームアプリケーションを作ったわけだが、その第2弾は普通の人(非プログラマー)でも使えるPDFの画像変換ア …

no image

WinMergeのフィルタ

【2018/11/24追記】 この書きっぷりではあまりにもわかりずらいので、整理して追加情報を加えて新たな記事とした。 WinMegeのフィルタについて今すぐ知りたいならココを読め プログラマにとって …

no image

CEditでドラッグ&ドロップ

プログラミングから離れてしばらく経ってしまった。 プロジェクト管理をやっていると、プログラミングをやることができなくなる。 対人間の仕事の合間にプログラムをやることは、おいらには無理だった。 プログラ …