简单的绘制透明像素(给底下的函数用,不多说):
#define _disapp_TRANS_PTPIXEL_LINE(x, y) (nlinetrans ? (\
line_clrpl = (COLORREF*)m_buffer + (y) * iwidth + (x), \
line_nfR = ((line_nprR + nlinetrans * getR(*line_clrpl)) * 0x8081) >> 23, \
line_nfG = ((line_nprG + nlinetrans * getG(*line_clrpl)) * 0x8081) >> 23, \
line_nfB = ((line_nprB + nlinetrans * getB(*line_clrpl)) * 0x8081) >> 23, \
*line_clrpl = makRGB(line_nfR, line_nfG, line_nfB)) : \
m_buffer[(y) * iwidth + (x)] = (DWORD)linecolor )
#define _disapp_TRANS_PTPIXEL_FILL(x, y) (nfilltrans ? (\
fill_clrpl = (COLORREF*)m_buffer + (y) * iwidth + (x), \
fill_nfR = ((fill_nprR + nfilltrans * getR(*fill_clrpl)) * 0x8081) >> 23, \
fill_nfG = ((fill_nprG + nfilltrans * getG(*fill_clrpl)) * 0x8081) >> 23, \
fill_nfB = ((fill_nprB + nfilltrans * getB(*fill_clrpl)) * 0x8081) >> 23, \
*fill_clrpl = makRGB(fill_nfR, fill_nfG, fill_nfB)) : \
m_buffer[(y) * iwidth + (x)] = (DWORD)fillcolor )
#define _disapp_TRANS_PTPIXEL_LINE(x, y) (nlinetrans ? (\
line_clrpl = (COLORREF*)m_buffer + (y) * iwidth + (x), \
line_nfR = ((line_nprR + nlinetrans * getR(*line_clrpl)) * 0x8081) >> 23, \
line_nfG = ((line_nprG + nlinetrans * getG(*line_clrpl)) * 0x8081) >> 23, \
line_nfB = ((line_nprB + nlinetrans * getB(*line_clrpl)) * 0x8081) >> 23, \
*line_clrpl = makRGB(line_nfR, line_nfG, line_nfB)) : \
m_buffer[(y) * iwidth + (x)] = (DWORD)linecolor )
#define _disapp_TRANS_PTPIXEL_FILL(x, y) (nfilltrans ? (\
fill_clrpl = (COLORREF*)m_buffer + (y) * iwidth + (x), \
fill_nfR = ((fill_nprR + nfilltrans * getR(*fill_clrpl)) * 0x8081) >> 23, \
fill_nfG = ((fill_nprG + nfilltrans * getG(*fill_clrpl)) * 0x8081) >> 23, \
fill_nfB = ((fill_nprB + nfilltrans * getB(*fill_clrpl)) * 0x8081) >> 23, \
*fill_clrpl = makRGB(fill_nfR, fill_nfG, fill_nfB)) : \
m_buffer[(y) * iwidth + (x)] = (DWORD)fillcolor )