【初心者歓迎】C/C++室 Ver.8【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0009デフォルトの名無しさん
NGNGelse if (pixelinfo.bpp_ == 16) {
LONG srcpitch = srcddsd.lPitch / 2, dstpitch = dstddsd.lPitch / 2;
WORD* const srcptr = static_cast<WORD*>(srcddsd.lpSurface);
WORD* const dstptr = static_cast<WORD*>(dstddsd.lpSurface);
DWORD srcclr0=0, dstclr0=0, newclr0=(*blendfunc)(dstclr0, srcclr0, alpha);
for (int sy = srcrect2.top; sy < srcrect2.bottom; ++sy) {
for (int sx = srcrect2.left; sx < srcrect2.right; ++sx) {
DWORD srcclr = srcptr[srcpitch * sy + sx];
if (!trans || srcclr != clrkey) {
int dx = dstx + (sx - srcrect->left);
int dy = dsty + (sy - srcrect->top);
WORD* dp = dstptr + dstpitch * dy + dx;
DWORD dstclr = *dp;
if (srcclr == srcclr0 && dstclr == dstclr0) {
*dp = newclr0;
}
else {
*dp = (*blendfunc)(dstclr, srcclr, alpha); //(1)
srcclr0 = srcclr;
dstclr0 = dstclr;
newclr0 = *dp; //(2)
}
:
(1)の部分を newclr0 = (*blendfunc)(dstclr, srcclr, alpha);
(2)の部分を *dp = newclr0;
と変えてコンパイルしているだけなのですが、
何かお分かりになりましたらよろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています