#include
#include
#include
#pragma comment( lib, "MSIMG32.LIB")
void transparentimage3(IMAGE* dstimg, int x, int y, IMAGE* srcimg) //新版png
{
HDC dstDC = GetImageHDC(dstimg);
HDC srcDC = GetImageHDC(srcimg);
int w = srcimg->getwidth();
int h = srcimg->getheight();
BLENDFUNCTION bf = { AC_SRC_OVER, 0, 255, AC_SRC_ALPHA };
AlphaBlend(dstDC, x, y, w, h, srcDC, 0, 0, w, h, bf);
}
enum My {
WIDTH=480,
HEIGHT=700
};
IMAGE bk;
IMAGE img_role[2];
void loadImage() {
loadimage(&bk, _T("./C:/Users/86136/source/repos/images/background.png"));
}
void gameDraw() {
loadImage();
putimage(0, 0, &bk);
}
int main() {
initgraph(WIDTH, HEIGHT);//创建窗口480,700
_getch();
return 0;
}
gameDraw() 调用加到32行前。
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#pragma comment(lib, "MSIMG32.LIB")
void transparentimage3(IMAGE *dstimg, int x, int y, IMAGE *srcimg) //新版png
{
HDC dstDC = GetImageHDC(dstimg);
HDC srcDC = GetImageHDC(srcimg);
int w = srcimg->getwidth();
int h = srcimg->getheight();
BLENDFUNCTION bf = {AC_SRC_OVER, 0, 255, AC_SRC_ALPHA};
AlphaBlend(dstDC, x, y, w, h, srcDC, 0, 0, w, h, bf);
}
enum My
{
WIDTH = 480,
HEIGHT = 700
};
IMAGE bk, t;
IMAGE img_role[2];
void loadImage()
{
loadimage(&bk, _T("2.jpg"));
}
void gameDraw()
{
loadImage();
loadimage(&t, _T("2.png"));
transparentimage3(&bk, 20, 50, &t);
putimage(0, 0, &bk);
}
int main()
{
initgraph(WIDTH, HEIGHT); //创建窗口480,700
gameDraw();
_getch();
return 0;
}