关于putimage_transparent函数的第一个参数问题

问题:当putimage_transparent函数的第一个参数是非空时,不能将图像保存在这个非空的参数中,请问如何解决?

附问题源码:(用注释语句替换上面的语句,能正常显示1.png图片)

#include "graphics.h"

using namespace std;

int main() {

initgraph(640, 480, 0);

PIMAGE imgsrc = newimage();

getimage(imgsrc, "1.png");

PIMAGE imgdest=newimage();

int x = 100, y = 100;

putimage_transparent(imgdest, imgsrc, x, y, WHITE);//无法保存至imgdest 

// putimage_transparent(NULL, imgsrc, x, y, WHITE);//显示1.png在屏幕 

//绘制到窗口上

putimage(0, 0, imgdest);

getch();

closegraph();

return 0;

}


评论区

Smalldy

2020-04-04 04:12

这个还真是api有些问题 使用这个函数的时候 ege没有将你的imgdest当作透明图像看待,因此没有对透明度做alphablend ......没记错的话 我之前写了一个修复版的 但是效率太低了