[過去ログ] 【漏れは】猫でもわかる質問スレ【猫以下です】 (531レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
445: 2009/03/20(金)12:28 AAS
>>443
ウイルス板に池
446: 2009/05/10(日)14:40 AAS
ちょw
447(2): 2009/09/04(金)19:20 AAS
24ビットカラーのBMPを16ビットカラーに減色するプログラムを書いていたのですが
24ビットカラーBMPの各色を取ってB&0x1F、G&0x2F、R&1Fをあてて各色を減色し
R<<11 | G<<5 |Bっていった感じに繋げてみたのですがどうにもうまくいきません。
何か参考になるサイトや書籍、ヒント等いただけないでしょうか・・・。
448(1): 2009/09/04(金)20:57 AAS
>447
> 24ビットカラーBMPの各色を取ってB&0x1F、G&0x2F、R&1Fをあてて各色を減色し
本当にこの通りなら減色してなくね?
128, 128, 128 を 5 bit, 6 bit, 5 bit に縮めるなら 16, 32, 16 になるべきだと思わないかい?
今だと 0, 0, 0 になるよ?
単純にやるにしてもマスクじゃなくてビットシフトだと思う。
減色自体は画像処理定番だからぐぐれば腐るほどヒットすると思うが。
449: 2009/09/04(金)21:04 AAS
>>448
24ビットカラーは各色8bitだから256*256*256だぞ・・・128ビットって各色4ビットで12bitになっちまうじゃねーか・・・
450(2): 2009/09/04(金)23:38 AAS
> B&0x1F、G&0x2F、R&1F
ちょ・・・ったく、もう。
たとえば赤を例にとって
8びっと=0〜255
5びっと=0〜31
0〜255の値を取りうる数値を単純に31で頭打ちしちゃダメだろ。
R=R×32÷256
つまり0.125倍に圧縮しなきゃダメだろ。頭打ちじゃ無くて圧縮ね!
インチをミリにしたり、ポンドをグラムにしたりするのと考え方は同じだよ〜
緑は6びっとだから後は自分で考えろ。
省2
451: 2009/09/05(土)01:01 AAS
>>450
0x3Fって後カラから気がついて問題そこじゃないからいっかと。
452: 2009/09/05(土)01:36 AAS
>>450
知り合いに、自転車乗れないベテランライダーがいるぞ。
自分で漕ぐときの動的バランス感覚がないらしい。
453: 2009/09/07(月)12:51 AAS
>>447
下位のビットじゃなくて上位のビットを使おう
R >>= 3; G >>= 2; B >>= 3;
R<<11 | G<<5 | B;
454(3): 2009/09/19(土)00:11 AAS
猫でもわかるWindowsプログラミング第3版の5.2タイピングソフトのプログラムって、
本の通り書くと「タイプミス!」にならないんですが、これは本が間違ってるんでしょうか?
もし間違えているなら、どこが間違っているのか教えていただけると助かります。
455: 2009/09/19(土)14:39 AAS
おねがいします
456: ぅゅ ◆e6.oHu1j.o 2009/09/19(土)14:45 AAS
ソースうp
第二版にはタイピングゲームは載っていない
457: 454 2009/09/19(土)15:20 AAS
ウィンドウプロージャ部のみですが、
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
HDC hdc;
PAINTSTRUCT ps;
MMTIME mm;
switch (msg) {
case WM_CREATE:
srand((unsigned)time(NULL));
break;
省11
458: 454 2009/09/19(土)15:21 AAS
case WM_CHAR:
if(wp == VK_SPACE && !bStart) {
bStart = TRUE;
TypeStart(hWnd);
break;
}
if(bStart == FALSE)
return DefWindowProc(hWnd, msg, wp, lp);
if(wp == VK_ESCAPE) {
lstrcpy(szMondai, TEXT(""));
省22
459: 2009/09/19(土)15:21 AAS
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd, msg, wp,lp));
}
return 0;
}
int TypeStart(HWND hWnd)
{
省10
460: 2009/09/19(土)15:23 AAS
書籍に乗ってるソースコードの転載はまずいだろ
461: 2009/09/19(土)15:44 AAS
流れからいって微妙w
462(1): ぅゅ ◆e6.oHu1j.o 2009/09/19(土)16:22 AAS
何事もなく動いた
外部リンク[cpp]:www.geocities.jp
463(1): ぅゅ ◆e6.oHu1j.o 2009/09/19(土)16:40 AAS
追記:
もしかしたら
動かないんじゃなくて、スペースキーー押して開始させてないんじゃね(と思った
90行目あたりの
case WM_CHAR:
if(wp == VK_SPACE && !bStart) {
bStart = TRUE;
TypeStart(hWnd);
break;
}
省6
464(2): 2009/09/20(日)00:27 AAS
>>462
そのままコピペしてやってみたんですが、動きませんでした。
#include<time.h>などを追加してエラーなくしてみましたが、
ウィンドウにszMondai、szInput、赤字でszCheckと表示され、
スペースを押すと問題があるので終了しますとなって終了してしまいました。
>>463
スペースキー押しての開始はもちろんしてますよ。
ただ、間違えたキーを押してもタイプミス!がでないんですよね・・・
デバッグしてもif文の分岐で、間違えたときもelse(タイプミス!と表示される)の方にいかないんです。
上下前次1-新書関写板覧索設栞歴
あと 67 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.130s*