マウスに正方形を描かせる
凝っても仕方ないので簡単に済ませました。
そもそも、簡単に出来すぎて拍子抜けです。
複雑な絵を描かせようとすると、データ作る労力がハンパ無いので、
イザとい時の為のサンプルとしてソースコードと正方形を描画するバイナリを用意しました。
使い方は、デスクトップのショートカットのショートカットキーから使います。
というか、これ以外では使えません。それと、デスクトップには一つのキーしか登録できない
ので、既に登録済だと入力できないです。前のを削除してもシステムのキャッシュの都合で
すぐには登録できないので注意して下さい。
同様にデスクトップのショートカットキーを使ったツール
どこでも Google 翻訳パッケージ
|
2009年11月01日
VC9.0でビルドしています:マウスに絵を描かせるサンプルです
2009年03月20日
ImageMagickでC++を使ってファイル一括処理
今時、C++ でなにかしようなんて人は居ないでしょうし、選択肢としてコストパフォーマンス
悪いですが、それでも飛び道具的なツール作る時( 例えばマウスをクリックした事にするとか )
は必要になります。というか、根が好きなので。
ですが、さすがに C++ では、ファイルの一覧は自分で取ってこないといけないようで、
久しぶりにそのへんのコードを書いて、string オブジェクトは、オブジェクトだから、まあ
こんななもんだろ・・・とまあそれなりに楽しかったです。 しかし、以下のサンプルはローカルのファイルシステムですが、image.read では
ファイルパスのかわりに URL が書けます。そういうところは良く覚えておきたい
ところです
それと、試して無いのでなんとも言えないですが、マニュアルの記述( 英文 )から
推測すると、GIF アニメーションのように複数画像のファイルの場合、filename[n]
という記述で、中の一つを直接取ってこれそうです。たぶんですけど。
// ********************************************************* // 一括処理はやはり一覧が必要 // ********************************************************* #include <windows.h> #include <Magick++.h> #include <string> #include <iostream> using namespace std; using namespace Magick; int main( int argc, char argv[] ) { HANDLE hFile; BOOL bRet; WIN32_FIND_DATA wfd; Image image; string work; hFile = FindFirstFile( "..\\png\\*.png", &wfd ); bRet = true; while( hFile != INVALID_HANDLE_VALUE && bRet == (BOOL)true ) { try { work = "..\\png\\"; work += wfd.cFileName; image.read( work ); image.crop( Geometry( 380, 540, 50, 50 ) ); image.write( wfd.cFileName ); } catch( Exception &error_ ) { printf( "エラーが発生しました : %s : ", error_.what() ); } bRet = FindNextFile( hFile, &wfd ); } if ( !bRet ) { FindClose( hFile ); } return 1; }
2009年03月19日
ImageMagickでC++アプリケーション作成(crop)
Image image; try { image.read( "in.png" ); // Crop the image to specified size (width, height, xOffset, yOffset) image.crop( Geometry( 380, 540, 50, 50 ) ); // Write the image to a file image.write( "out.png" ); } catch( Exception &error_ ) { printf( "エラーが発生しました : %s : ", error_.what() ); }
クラスを変数のように定義して、メソッド実行していくタイプです。 まだぜんぜん読んで無いので、作ったサンプル見る限りクラスですが、 コンストラクタとか考え無いでいいので、扱いやすいものです。 解放処理も、ブロックを出る時に自動的にするはずです。 ( そう作るのが通常です )
ちょっと不思議なのが、convert.exe で動かなかった PNG の crop がちゃんと動きます。但し、ドキュメントにある gif の挙動と違います。 +repage しないと回りが残るはずなのですが、残らなかったです > PNG gif はちゃんと残りました。ただ、この挙動は IN のフォーマットでは無く OUT のフォーマットに依存してました。 よくわから無いですねぇ・・・
詳細はこちら
DLL版をインストールしなおして、バッチファイルでPNGファイルの一括トリミング
2009年03月18日
デスクトップ上全て有効なスポイトアプリケーション(version2)
マウス移動中の色をコードと実際の色で表示するようにして 一応使えるものにしました。ソースコードもできるだけ簡単な 方法で実現しているつもりです。 これは、Visual Studio は使ってません。 2005 Express は入ってますが、エディタと XN Resource Editor だけで 作成しています。( SDK はダウンロードしてインストールしましたが ) ソースコードはこちら
2008年11月25日
【VC++】COMの作成の基本
Visual Studio 2008 はまだ使って無いので解りませんが、
MIcrosoft は COM を作ってほしく無いような対応状況です。
Express なんかは全くアウトですし・・・( かなりいろいろやってみたんですが )
その経緯で、バッチビルドパッケージも作ったのですが、需要無いでしょう(笑)
(↓にあるのは、プロジェクトのパッケージですけどね。)
続きを読む
MIcrosoft は COM を作ってほしく無いような対応状況です。
Express なんかは全くアウトですし・・・( かなりいろいろやってみたんですが )
その経緯で、バッチビルドパッケージも作ったのですが、需要無いでしょう(笑)
(↓にあるのは、プロジェクトのパッケージですけどね。)
続きを読む
2008年11月13日
【VC++】ある程度経験者なら扱える『誰でも作成できるWin32ダイアログアプリ』
2008年11月06日
【VC++】CからCOMを呼べば、Shell.ApplicationとWscript.Shellでスタンバイ状態にできる
C から COM を読んで、直接 API を利用するより、
処理が安定していて信頼性のあるスクリプト用ライブラリを利用します。
特に、WSH 用のライブラリはいろいろ使い勝手が多いですし、
FileSystemObject や Excel を使う事ができるので、
目的によっては数倍の開発コストパフォーマンスを発揮できます。
続きを読む
処理が安定していて信頼性のあるスクリプト用ライブラリを利用します。
特に、WSH 用のライブラリはいろいろ使い勝手が多いですし、
FileSystemObject や Excel を使う事ができるので、
目的によっては数倍の開発コストパフォーマンスを発揮できます。
続きを読む
2008年10月30日
【VC++】イザという時の為の、COM的_bstr_tなショートカットとインターネットショートカットの作成
Microsoft のドキュメントに、インターネットショートカットの作成方法が 記述されていますし、ショートカットのアイコンの変更方法もあります。 しかし、非常に簡単にしか書かれておらず、ショートカット作成に関しては「これと同じようにしなさい」と言わんばかりではあります。 確かに、インターネットショートカットの作成方法が理解できるのであれば、 ショートカット作成は難しくありませんが、Shell Interfaces や COM Interfaces の 英文記述のマニュアルの場所を知っている必要があります。 で、サンプルをまとめてみました。
2008年10月27日
【VC++】WindowsShellプログラミング:デスクトップの情報をHTMLに書き出す
VBScript バージョンとほぼ同じ情報を取得します ※ 属性は面倒なので処理しませんでしたが、info tip の取得方法は解りませんでした とにかく、Shell を C++ で処理すると面倒でやってられないです。 ですが、デスクトップに関してだけ言えばメリットがあるので整理しました。 通常、COM 経由で使用すると簡単なので Framework では COM をインポートして利用します。 ( C++ からも、COM でアクセスしたほうが簡単かもしれません。)
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。 ※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します
|