使用额外的 alpha 通道绘制精灵

Drawing sprite with additional alpha channel

我可以很好地使用 alpha 通道绘制图像, 但不能通过颜色参数修改alpha通道。

试过这个:

d3dImage->Begin(D3DXSPRITE_ALPHABLEND|D3DXSPRITE_SORT_DEPTH_BACKTOFRONT|D3DXSPRITE_DO_NOT_ADDREF_TEXTURE);

我正在使用 sprite 渲染矩形和图像:

void DrawRect(float x, float y, int width, int height, DWORD color)
{
    imgPosition.x = x;
    imgPosition.y = y;

    imgSize.left = 0;
    imgSize.right = width;
    imgSize.top = 0;
    imgSize.bottom = height;

    d3dImage->Draw(texWhite, &imgSize, NULL, &imgPosition, color);
}

仅适用于 8 位纹理。