- 1 名前:デフォルトの名無しさん mailto:sage [2020/07/13(月) 13:51:48.09 ID:WBkWHxcT.net]
- エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう 半角空白やタブでのインデントはスレに貼ると無くなります コードを貼れる所 codepad.org/ https://ideone.com/ 前スレ 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 https://mevius.5ch.net/test/read.cgi/tech/1556142878/
- 672 名前:WORD px, tmp;
BYTE b; int X = 0; for(int y = ImageHeight - 1; y >= 0; --y){ X = 0; for(int x = 0; x < ImageWidth; ++x){ px = 0x00000000; pPx[X] = px; b = (BYTE)((((DWORD*)pSrcBuf)[x + (y * ImageWidth)] & 0xff000000) >> 24); //A tmp = 15 * (b / 255.f); px |= tmp << 12; b = (BYTE)((((DWORD*)pSrcBuf)[x + (y * ImageWidth)] & 0x00ff0000) >> 16); //R tmp = 15 * (b / 255.f); px |= tmp << 8; b = (BYTE)((((DWORD*)pSrcBuf)[x + (y * ImageWidth)] & 0x0000ff00) >> 8); //G tmp = 15 * (b / 255.f); px |= tmp << 4; b = (BYTE)((((DWORD*)pSrcBuf)[x + (y * ImageWidth)] & 0x000000ff)); //B tmp = 15 * (b / 255.f); px |= tmp; pPx[X] = px; ++X; } pPx += Pitch; } [] - [ここ壊れてます]
- 673 名前:636 mailto:sage [2021/04/25(日) 10:46:22.20 ID:sRfn5IZk.net]
- pPxは、32bitの時はDWORD*で、16bitの時はWORD*になってた。
全て載せると長くなるので変更すると速度が変わる部分だけ載せたよ。 16bitの方でも>>636のダミーを入れれば遅くならないんだよね。 やっぱメモリが壊れてるのかな?
|

|