2010-01-01から1年間の記事一覧

パディング君

今日はパディングコードの改良版だよ。画像データを扱っていると、APIやOSによってはとかく受け付ける画像サイズに何らかの制限があったりすることがある。例えばOpenGLのデフォルトバージョンではテクスチャ画像のサイズは2のn乗数になってないとだめとか…

Wintabよ、何処へ

やあ子供たち。いつからか、Wintabが消えてしまったよ。特許を取得した会社があったらしい。ほんの2年前には少なくとも取得可能だったのに。事情はここに書かれている。http://bit.ly/dol4iy ここのフォーラムのShootTheMessengerという男の発言に最近のWint…

コマンドプロンプト・バッチファイルの技メモ

やあ子供たち元気にやってるかい。上司にはちゃんと言いたいこと言っているか?でないと週末とかでも心が病気になっちゃうぞ。ただし言い方には気をつけろ。あるいはC++とか興味ない人に無理やり勉強させて、わからなかったら俺に聞けとかエラそーにふんぞり…

負でない整数x以上の値をとる最小の2のべき乗数の計算

C++

やあみんな、寒いけど元気にしてたかな?今日はこんなぐだぐだなタイトルだよ。負でない整数xがあるときに、これ以上の値をとる、最小の2のべき乗数の計算方法についてだ。以下の4通りの実装をしてみた。 int PadToPow2( const unsigned int x ){ // x より…

4バイト境界パディング処理

[C++][GDI][Windows]4バイト境界パディング処理 今日はWindowsでの画像プログラミングにおける、4バイト境界パディング処理の話題だよ。CreateDIBSection()を使うときや、BITMAPINFOHEADER、BITMAPFILEHEADERを使ってBMPファイルを作成したりするときにお役…

GetDCPolite

上記ネタと全く同じ話でGetDCPoliteを用意したよ。これはGetDCしたら必ずReleaseDCをしましょうという教訓をマクロにまとめてしまい、教訓をうっかり忘れても大丈夫なようにしよう、いやむしろ、積極的に教訓は忘れてこっちを使おう!というためのものだ。ソ…

SelectObjectPolite

今日はお行儀のよいSelectObjectマクロを作成してみたよ。 子供たちも知っているように、Win32のGDIプログラミングではSelectObjectしたら必ず最後に、以前にセットされていたオブジェクトでSelectObjectしなおさないといけないんだったね。具体的にはその返…

GradientFill関数の使い方Part1

やあ子供たち。冬のオリンピック見てるかい?高橋選手による日本初のフィギュアスケート男子メダル獲得は素晴らしかったね! 今日はGradientFillを簡単に利用するための関数を作ったよ。もはやこれがGDIなのかGDIplusなのかおじさんにもよくはわからないしそ…

本日のその他自分用メモ(CDialog関係)

CXXDialog::OnPaint() の中では、CDialog::OnPaint()を最後に呼ばないとフリーズした感じになってしまうので半日ハマった。OnPaint()の処理途中で抜ける場合も必要なので、決して忘れてはいけない。今回は、ある条件が満たされたときには描画処理をせずに抜…

本日のその他自分用メモ(CString⇒char*変換関係)

プロジェクトのプロパティ>全般>文字セットで「マルチバイト文字セットを使用する」になっていると、CString cstr;から、char p[];への変換は、strcpy( p, cstr );とかであっけなく簡単にできるのだが、ここの設定が「Unicode文字セットを使用する」になっ…

矩形領域への画像出力について

やあみんな、今日はちょっと当たり前そうなんだけど、書き残しておきたい話をするぞ。まあ、StretchBlt絡みと言えばStretchBlt絡みの話題かな。 ある決まったサイズの矩形領域があって、任意のサイズ・縦横比の画像全体を、このサイズ固定の矩形領域に描画し…

N88-OpenGLインタープリタ

インタープリタ的なその場の入力でOpenGL描画できてしまうシステムがあると面白いかも知れない。その昔、(そうそれはもう20年以上も前のことだ)N88-Basicというものがあった。N88-Basicでは、プログラムとしてのみでなく、コマンドラインに描画コマンドを…

GetDC、ReleaseDCのCWnd::版には気をつけろ

みんな大変だ、おじさんは今日こんな記事を見つけてしまったよ。⇒http://support.microsoft.com/kb/819635/jaというわけで、本日の日記のタイトルみたいな話になるわけですか。もう解決してんのかなコレ? CWnd::GetDC()したら、必ずCWnd::ReleaseDC()しない…

Twitterしか見ないことへの反省

twitterをやるようになってあまりブログのネタになりそうなことを考えなくなった気がする、それはそれでよくないなー。twitterばかり見るようになって、アンテナのブログも読まなくなった気がする。なにかまとまった考えのようなものが頭の中にできにくくな…

ユーザーエクスペリエンスでスムーススクロール

今日は子供たちにスムーススクロールアプリの紹介だよ。前にも書いたけどWindowsでスムーススクロールするリスト描画部品をサポートするUI開発環境が世にないので自作したった。画面キャプチャの精度に問題ありなんだけど、実際はこれよりはるかにスムース…

ノックアウトテスト

やあ子供たち。元気にしてたかな。寒いからって家でプログラミングばかりしていてはいけないよ。子供は風の子だからね。今日は人が書いたプログラムを理解しなくてはならなくなったときのためのお話だよ。 人が書いたソースプログラムを理解するのに一番手っ…

手の甲の湿疹その後

手の甲にダニに噛まれたような発疹ができる。しばらくたつとそのすぐ横にできる。いずれも火山のように膨らんでおり、その先端からは小さな体液の水滴が噴き出ているのが見える。 同じような発疹は、1、2センチほど離れたところにまた出来、同じように大体…

殺菌ハンドソープよりも固形石鹸を使うべきなのか

手首の甲のあたりに、ダニに噛まれたかと思しき湿疹のようなものが二つばかりできていたのだが、3つ、4つと増えていき、かゆみや腫れはおさまるどころか発展し、とくに3つ目のやつはお岩さんみたいにボコボコしており見た目もおぞましくなってきた。本当に…

std::multimapがいるわけ&ありがとうmultimap

C++

やあみんな、元気に年明け仕事始めのスタートを切れたかな?今日はmultimapがどうしてこの世にあるのかというお話だよ。 おじさんもmapやmultimapといった方たちにはさんざお世話になってきた。ところが、ちょっとひっかかるところがなくもなかったんだね。…

描画結果を画像情報として取得しよう

やあ子供たち、元気にしてたかい。2010年になってまたまた新しいスマートフォンやタブレットデバイスが目白押しで楽しそうだね!今年はとくに楽しくなりそうな予感がするね予感どころじゃないかな。 今日はWindowsのメモリデバイスコンテキストというものに…

アメリカンホームメイドなワンプレート朝食の作り方

以下、マッシュアップポテトとグレービーソースを平行して作成する。量は2人前。マッシュアップポテトの作り方(10分) ジャガイモ3個を厚さ5〜7ミリ程度のチップ状に細かく切る 電子レンジにて何度もチンする バター2切れを投入、 やわらかくなったジャガ…