カテゴリー別

お絵描き、デザイン

写真、動画関連ソフト

アメーバピグ専用ソフト

ホームページ関連

画像処理

スキャナー用

SEO 関連

お楽しみ

その他

過去ログ

2019年01月31日(木)

ミルノ PC フォトフレーム、丸いルーペ (虫眼鏡) 機能を実装

写真閲覧ソフト、ミルノ PC フォトフレーム
にルーペ機能 (虫眼鏡) 機能を実装中です。

写真をミルノに!

で覚えてね。キラーン。

今日は、こんな感じ ↓

左下の丸い円がルーペです。
カーソル位置の画像を拡大して表示する機能です。

昨日の記事 の正方形のやつと比べると、だいぶ見栄えがよくなりました。
まるーく、くり抜いて、境界をぼかした結果です。

もちろん、オプションで、正方形のやつも
使えるようにする予定。境界のぼかし量も調整可能です。

システムレベルの実装は、ほぼ終わったので、あとは、UI。
ルーペの倍率を変えたりできるようにしまーす。

・・・

公開中のバージョンには、まだルーペ機能は実装されていませんが、

日本語の最新版はこちらのページから、ダウンロードできます
You can download the latest version of Miruno PC Photoframe here.

x64 の最新版はこちらのページから、ダウンロードできます
Download the latest version of Miruno PC Photoframe x64 here.

・・・

月額会員専用のx64 版 もあります。
月額会員には、こちらのページから参加できます

・・・

まるーくくり抜く処理は、CPU で実装しました。
GPU のピクセルシェーダーは「効果」でパンパンだからです。

ピクセルシェーダーは GPU で
テクスチャーを描画するときに作用する
ユーザー定義のプログラムなのですが、
DirectX のバージョンによって
一度に実行できる命令数に限界があります。

「パンパン」というのは、
ルーペの画像を描くときにも「効果」を適用するので、
それ用の命令でピクセルシェーダーの命令数がいっぱいということです。

「効果」は「色調反転」や「アンシャープマスク」などのことです。

描画のパイプラインを増やしたり、より後のバージョンの DirectX
でないと実行できない仕様とすれば、ピクセルシェーダーで
描けるのですが、ま、比較的軽い処理なので CPU で実装してみました。

画像処理の実装も容易な C++ の強みです。ゆ・う・しゅ・う〜。

ちなみに「ゆ・う・しゅ・う〜」は、さまぁ〜ず三村さんのギャグです。
全然やらないし、本人も忘れてることでしょう。

ミルノ PC フォトフレーム
ミルノ PC フォトフレームのダウンロード
ミルノ PC フォトフレームの更新履歴
ご意見・ご要望連絡窓口


2019年01月18日(金)

動画を見るノ 1.1.0 公開。Media Foundation に対応、スナップショットの取得が高速に

動画を見るノ の新しいバージョン 1.1.0 を公開しました。

今回の変更箇所はたくさんありますが、
おおまかに分けると 3 つです。

Media Foundation (メディアファウンデーション) に対応。動画によっては、スナップショットの取得も高速に

動画を見るノでは、動画のスナップショット取得に、Windows のDirectShow と呼ばれる機能を利用していましたが、今回のバージョン
から、Media Foundation と呼ばれるものも利用可能にしました。

Windows 10 の場合、DirectShow 用の動画のデコーダーが
あまり入っていないので、DirectShow のフィルター と呼ばれるものを
追加でインストールしないと、まともに動作しませんでした。

が、今回のバージョンからは、Media Foundation にも対応したので、
動画を見るノ単体で、mp4 などのメジャーな
動画のスナップショットが所得できるようになりました。

また、Media Foundation による動画のスナップショット取得は、
より洗練された方法を取ったため、かなり高速化されました。

動画や設定にもよりますが、3 倍ほど速そうです。

どう高速化したかというとスナップショットの取得に
まず「許容誤差」の概念を導入しました。

例えば、スナップショットの取得位置が、動画開始から
20 秒の位置だった場合、かつ、許容誤差が 3 秒の場合は、
17 秒 〜 20 秒の位置のスナップショットを取得します。

この範囲から、最も高速にスナップショットを取得できるものを
返すので、特にこの範囲にキーフレームがある場合、最高速となります。

この場合、キーフレームとは、
前のフレームの画像を読み込むことなしに
取得できるフレームのことです。
(フレームとは動画を構成する1枚1枚のこと)

キーフレーム以外の画像を取得する場合、
キーフレームから、順番に 1 枚ずつ
画像をデコードする必要があるので遅くなります。

結果、例えば、20 秒ごとにキーフレームがあるような動画では
許容範囲を 20 秒以上とすることで、かなりの高速化が期待できます。

十分長い動画では、スナップショットの位置の正確性は
あまり必要ないと思うので、だいたいの場面で
高速化されるといってよいでしょう。

一方、とても短い動画で、許容誤差を大きくとると、
スナップショットとして同じ画像が取得されがちになるので、
その場合は、許容誤差を小さくしてください。

許容誤差は、設定画面で設定可能なほか、
「設定して、スナップショット自動生成...」
コマンドで表示される画面でも設定可能です。

この画面の「Media Foundation」のチェックをはずすと、
強制的に、DirectShow でスナップショットを生成することもできます。

「Media Foundation」「DirectShow」の両方にチェックがある場合は、
動画によって、Media Foundation が使用できる場合は、それ、
使用できない場合は、DirectShow が使用されます。

両方にチェックが無い場合は、
スナップショットが取得できなくなるか、
強制的に DirectShow が使用されます。

フォントの変更機能と表示スケールへの対応

設定画面に、新しく「デザイン」タブを追加。
使用するフォントを変更できます。

「全般」はメニューやサイドタブなどに使用されるフォント設定です。
「ダイアログ」は設定画面などのダイアログに使用されます。
「ファイル名など」は、メイン画面のファイル名などに使用されます。
「検索用タグ」はメイン画面の検索用タグに使用されます。

また、表示スケールにも対応しているので、
表示スケールが 100 % 以外の場合は
指定のフォントサイズに表示スケールを適用した
フォントサイズが実際には使用されます。

操作性の改善

「設定して、スナップショット生成」画面などの
スキップ時間などは、ミリ秒単位の指定方法でしたが、
「分、秒、秒未満」で指定する方式に変更しました。

これまでのバージョンで長い時間を指定する場合、
1 分は 60000 ミリ秒だから、等の計算が必要でしたが、
今回のバージョンでは、より直接的な指定が可能です。

秒未満の値では、小数のほか、1 / 30 のような
分数 (割り算) による入力も可能になってます。

・・・

Media Foundation、表示スケールに対応した
動画を見るノの最新版はこちらのページから、ダウンロードできます

・・・

他にも、動画を見るノを全画面表示にした場合、
メニューの右端に「最小化」「閉じる」ボタンを
追加したので、全画面時状態からすばやく終了したり
最小化したりできるようになってます。

気になる方は、是非、最新版を使用してみてくださいね。

動画を見るノ
動画を見るノのダウンロード
動画を見るノの更新履歴
ご意見・ご要望連絡窓口


2019年01月07日(月)

動画を見るノ、Media Foundation への対応作業が一応完了しました

一応、動画を見るノ の Media Foundation への対応作業が完了しました。

あとは、テストと、ちょっとした修正を
施してから公開することになるでしょう。

予想通り、大変だったけど、とりあえず、
mp4 に関する限り、DirectShow よりも
スナップショットの作成が高速になったっぽいので、
やって、よかったかもしらん。

計測してないけど、3 倍くらいは速そうな感じ。

・・・

まだ、公開中のバージョンは、Media Foundation には未対応ですが、
動画を見るノの最新版はこちらのページから、ダウンロードできます

・・・

今回は、いつになく没になるコードをたくさん書いたわー。
ま、今後、使うこともあるかもしれませんけど・・・。

動画を見るノ
動画を見るノのダウンロード
動画を見るノの更新履歴
ご意見・ご要望連絡窓口


2019年01月04日(金)

動画を見るノ、引き続き、Media Foundation に対応中です

あけまして、おめでとうございます。
ミルノこと、S.S.Software こと、佐藤です^^。

ま、正月そうそう、ひきつづき、
動画を見るノ の修正してます。

動画を見るノには、動画のスナップショットを
バックグラウンドで取得する機能と、
動画を再生しながら、マニュアルで動画の
スナップショットを選択する機能があります。

そこの機能を、これまでのバージョンでは、
DirectShow とよばれる部品を使用して実装していたのですが、
新しく Media Foundation という部品を使って
(DirectShow と併用) できるようにする作業を行ってます。

メリットとしては、DirectShow のフィルターとよばれるものを
インストールしなくても、mp4 なんかのスナップショットが取得
できるようになって、とっつきやすくなるところですね。

とはいえ、いろいろな動画に対応させたいと思うと、DirectShow の
フィルターも必要になるので、機能的にはあまり変わらないかもです。

ここからは実装の話になります。

動画のスナップショットをバックグラウンドで取得する部分は、
IMFSourceReader という部品を使うと
比較的簡単に実装できましたが、

再生しながら、スナップショットを取得する機能は
右往左往、なかなか実装に目処が立ちませんでした。

最初は、Media Foundation の Session を使った再生方法を
試してみました。 IMFVideoDisplayControl::GetCurrentImage
があるので、簡単にできるかなーと思ったのですが、
この関数は、拡縮済みの出力画像を返すので、
オリジナル画像が取得できませんでした。

オリジナル画像を取得するには、Session 中の Topology 内の
MediaSink (出力部分) を自作するか、出力と入力の間に
自作のフィルターをかませる必要がありそうです。

ちなみに、 Sample Grabber Sink と呼ばれるできあいの MediaSink
を使用してできないか試してみたのですが、無理っぽいです。

というのも、Sample Grabber Sink は、ファイルに書き出したり、
動画をリアルタイムに加工して出力することのみを想定しているためか、
再生速度を 0 にした Scrubbing モードでシークしているときなどは、
サンプルデーターが届きませんでした。

また、再生からかなり遅れて、データーが届くみたいな感じでした。
というのも、音声と動画のストリームを両方用意して再生してみると、
音が流れるのと同時には、データーが届かなかったからです。

ちなみに、Sample Grabber Sink は、音声用のサンプルコードなので、
サブタイプに MFAudioFormat_PCM を指定してありますが、mp4 の
動画の場合、MFVideoFormat_RGB32 を指定すると失敗します。

mp4 の場合、MFVideoFormat_NV12 とか MFVideoFormat_IYUV
を指定するとうまくいきます。mp4 のデコーダーが、RGB32
での出力をサポートしないためです。

Sample Grabber Sink に、MFVideoFormat_RGB32 のデーターが
届くようにするには、動画のトポロジーに、変換用のフィルターを
追加する必要があると思いますが、簡単にはできませんでした。

ま、メモリーコピーに無駄が生じるので、
Sample Grabber Sink に届く NV12 とかの
データーを自分でデコードした方がいいかもしれません。

デコードには、 Video Processor MFT なんかが使えると思います。
とはいえ、自分の用途では Sample Grabber Sink
が使えないことがわかったので、完成するまでやってません。

で、今はバックグラウンドで動画のスナップショットを取得するのに
使用した IMFSourceReader を使って再生する方法を試みてます。

クロックとか、マルチメディアタイマー割り込みの処理を
自分で実装しないといけないので、ちょっと大変ですが、
動画のみを再生するだけなら、なんとかなりそうです。

ちなみに、クロックは、 IMFPresentationClock が使えます。
マルチメディアタイマーは、timeSetEvent 関数 を使えば、
簡単に利用できますが、スレッドの知識がないとハマること間違いなし。

ま、とりあえず、この方針で完成させるけど、
将来的には、フィルターをかませる方法に
実装しなおすかもしれん。

音声も再生させたい気もするし、そうなると
自分で、Session の機能を実装するのはきついからなー。

・・・

動画を見るノの最新版はこちらのページから、ダウンロードできます

・・・

Direct Show よりも、Media Foundation の方が
実行効率は良さそうだが、Topology の構成方法は
よくわからない部分が多い。ドキュメント不足かな。

例えば、Video Processor とノードをつなぐには、ノードの属性の MF_TOPONODE_CONNECT_METHOD に、MF_CONNECT_ALLOW_CONVERTER を指定しないと
ダメっぽいんだけど、そんなの簡単には気づかないよー。

動画を見るノ
動画を見るノのダウンロード
動画を見るノの更新履歴
ご意見・ご要望連絡窓口


2018年12月27日(木)

動画を見るノ、Media Foundation に対応中です

動画を見るノ の修正中です。

Media Foundation と呼ばれる API
による動画の読み込みを試みてます。

DirectShow を置き換える API です。

なんだかんだいって、DirectShow と
プログラミングのしやすさは、
あまりかわらず、結構やっかいですわ。

・・・

動画を見るノの最新版はこちらのページから、ダウンロードできます

・・・

なんで、こんなに面倒なんだー。

動画を見るノ
動画を見るノのダウンロード
動画を見るノの更新履歴
ご意見・ご要望連絡窓口


2018年12月11日(火)

何故、ダメになることを「お釈迦になる」というのか?

世間的には、やっていたことが全て無駄になることを
「お釈迦になる」と言っているみたいですが、
何故、そんなことになってるのかなーと思って検索してみると、
ナナオアカリさんの歌に辿りつくようになってますね。

お釈迦になる / ナナヲアカリ - YouTube

意外といいかも(笑)。

ちなみに、今の気に入りは、ダダダダ天使だったりする。

ダダダダ天使 / ナナヲアカリ - YouTube

・・・

いやいや、そうじゃなくて、ま、諸説あるようですが、
阿弥陀仏の像を作ろうとして、お釈迦様の形をなしてしまうと
阿弥陀仏の像としては、使い物にならなくなってしまうことから
無駄になることを「お釈迦になる」と言っているみたいですね。

・・・

まぁ、ともかく、全然いい言葉じゃないので、
心ある人は、使わない方がいいでしょう。

ご意見・ご要望連絡窓口


2018年12月04日(火)

動画を見るノ、改良中です

動画を見るノ は動画管理用のソフトです。

動画ファイルごとに、複数のスナップショットが表示されるので、
パソコンに保存されている動画から見たい動画を探しやすくなります。

で、今はコツコツと、フォントの変更機能を改良していて
より大きなフォントでも、表示できるようにしています。

他の機能もちょっと追加するかもしれないので、
公開は、まだだいぶ先になるかもしれません。

日本語の最新版はこちらのページから、ダウンロードできます

・・・

ま、お楽しみに。

動画を見るノ
動画を見るノのダウンロード
動画を見るノの更新履歴
ご意見・ご要望連絡窓口


2018年01月15日(月)

動画管理ソフト「動画を見るノ」の新しいバージョン 1.10.0 を公開しました

動画管理ソフト「動画を見るノ」
新しいバージョン 1.10.0 を公開しました

動画を見るノは、1 動画につき「複数のスナップショット」を
一覧表示することで動画を探しやすくする動画管理ソフトです。

いろいろなフォーマットの動画に対応するには、
Direct Show のフィルター をインストールする必要がありますが、
かなり便利だと思うので、是非使ってみてくださいね。

今回の更新では、不具合を 2 つ修正しました。

1 つは、動画を選択したときに表示される
白い枠の表示位置がずれてしまっている不具合修正です。

上のスクリーンショットだと鳥の動画の回りの白い線です。
位置がずれてきたなく表示されている場合は、
アップデートしてみてください。

2 つ目は、月額会員で製品登録した後、権限を失なった場合、
起動時と、製品登録画面を表示した際に、
「製品のアクティベーションに失敗しました no auth」
と表示される不具合の修正です。

機能的には問題ありませんが、
単純に邪魔なので修正しました。

最新版はこちらのページから、ダウンロードできます

・・・

白い枠線を描く場所がずれる不具合は
いかにして発生したのか書いときます。

白い枠線を描くコードは
複数のアプリケーションで共通なので、
同じコードを利用しています。

今回の場合、 ミルノ PC フォトフレーム
動画を見るノ で利用しているコードでした。

で、ミルノ修正中に、コードの仕様を変更したのですが、
動画を見るノをコンパイルするときにすっかり忘れていて、
新しい仕様に適応させるための修正を動画を見るノに
施し忘れたため、枠線の表示位置がずれてしまいました。

このような不具合混入を避けるのに一番簡単な方法は、
仕様変更をしないことですが、共通のコードがより
美しくなる場合は、仕様変更したいですよね。

2 つ目の方法としては、仕様変更する場合、
コードのバージョンを上げて、古いバージョンの
仕様が変わらないようにする方法があります。

例えば、DrawFrame という関数に実装されているなら、
新しいバージョンでは、DrawFrame2 みたいにします。

この方法をとると、実装にバージョンとかが入ってくるので
美しくないですが、あまりに多くの人が利用している部品とかだと
この方法を取らざるを得ないことになります。
(IHTMLElement2、IHTMLElement3 とかの方式です)

また、美しくないのに加えて、他のアプリケーションでは
新しいバージョンの部品ができたことがわからないので、
いつまでも古い部品を使い続けることになります。

結果、古いバージョンの部品をいつまでも
保守しつづける必要がでてきてしまうため
あまり多くの人が利用しない部品では避けたい方式ですね。

3 つ目は、仕様を変更する場合、呼び出し方を変更して
コンパイル時にエラーがでるようにする方式です。

この方式は結構いいですが、元の呼び出し方よりも
よいインターフェースにならない場合は、使えません。
(厳密には、実際には使えるが使いたくありません)

で、どの方法も使いたくない場合は、仕様を変更する部品を
利用している箇所を、全部列挙して、修正、テストするのがよいです。

理想的には、自動テストできるとよいのですが、
画像の表示位置とかのテストケースを用意するのは
かなり大変なので、最後の方法が現実的だと思います。

で、今回は、ミルノ開発時に、仕様変更することは
認識していたのですが、利用箇所を列挙して
修正するのを後回しにして、すっかり忘れていたのが敗因です。

残念。まぁ、たくさんコード書いてるときは
色々、うっかりしちゃうなぁ。すまん。

動画を見るノ
動画を見るノのダウンロード
動画を見るノの更新履歴
ご意見・ご要望連絡窓口


2017年07月13日(木)

ストロークループアニメーター、矢印がボタンを押すアニメーション サンプル動画を公開

ドロー系のお絵描きソフト ストローク で作成した 2 枚の画像から
アニメーションを生成する新作ソフト
ストロークループアニメーター で作成した
矢印がボタンを押すアニメーション サンプル動画
を公開しました。

↓ 今日公開した動画。

今すぐ、購入する

今日は矢印がボタンを押す
アニメーション サンプル動画です。

アニメーションの生成は、
2 枚目の strk ファイルで、
ボタンと矢印の位置を変更して保存。
補間方法を「円、楕円」にして
生成するだけなので簡単です。

一番大変なのは、矢印を描くことです。

とはいえ、この程度の矢印に著作権は発生しないと思われる
ので、コピーしちゃってもいいでしょうね。

詳しいやり方は下のページをご覧ください。
矢印がボタンを押すアニメーションの作成方法

サンプルなので、真っ黒ですが、
色を替えたり縁取り線を追加するのは
簡単なので、是非トライしてみてくださいね。

ちなみに、ループアニメーターはフリーウェアですが、
ストロークはシェアウェアです。とはいえ、
お試しは無料なので、お気軽にどうぞ。

最新版は、こちらのページからダウンロードできます
ストロークの最新版は、こちらからどうぞ

・・・

ちなみに、今回のサンプルアニメーション動画は、
先日作成した、私のホームページ用の
ダウンロードボタンのアニメーション部分を
サンプル用に、ちょこっと編集したものです。

無料ダウンロード

編集元のダウンロードボタンでは、往路が「なし」なので、
ちょっと違う動きになってますが、形は同じです。

重要なボタンだけ、アニメーションさせたので、
目立つのは間違いないと思うのですが、
クリック率はどうなるかな?

間違ってクリックさせちゃおうとする
タイプのボタンが動いてることが多いので、
かえって、クリック率が下がる可能性もあるのよね。

まだ、2 日くらいしかたってないので、
よくわからないけど、下がってはいないような気がする。
というくらいなので、少なくとも劇的な変化はないでしょうねぇ。

ストロークループアニメーター
ストロークループアニメーター ダウンロード
ストロークループアニメーター 更新履歴
ストローク
ストローク ダウンロード
ご意見・ご要望連絡窓口


2017年07月11日(火)

ストロークループアニメーター、文字の高さをアニメーションさせる サンプル動画を公開

ドロー系のお絵描きソフト ストローク で作成した 2 枚の画像から
アニメーションを生成する新作ソフト
ストロークループアニメーター で作成した
文字の高さをアニメーションさせる サンプル動画
を公開しました。

↓ 今日公開した動画。

今すぐ、購入する

今日はテキストの高さが変化する
アニメーション サンプル動画です。

アニメーションの生成は、
2 枚目の strk ファイルで、
テキストの高さを変更して保存。
補間方法を「円、楕円」にして
生成するだけなので簡単ですが、

テキストの高さを変更するためには、
あらかじめ、テキストを「図形に変換」
しておく必要があります。

流れ的には、テキスト入力、図形に変換、1 枚目保存。
図形の高さを変更、2 枚目として保存ですね。

ま、詳しいやり方は下のページをご覧ください。
文字の高さをアニメーションさせる方法

最短で作成する例なので、
あまり見た目はよくありませんが
工夫すれば、もっと面白いものが作れるはずです。

是非、試してみてくださいね。

ちなみに、ループアニメーターはフリーウェアですが、
ストロークはシェアウェアです。とはいえ、
お試しは無料なので、お気軽にどうぞ。

最新版は、こちらのページからダウンロードできます
ストロークの最新版は、こちらからどうぞ

・・・

普通に、絵とか、絵の一部を
大きくすることもできますよ。

ストロークループアニメーター
ストロークループアニメーター ダウンロード
ストロークループアニメーター 更新履歴
ストローク
ストローク ダウンロード
ご意見・ご要望連絡窓口


| 1/6PAGES | >>