这个程序如何运行 C?
How does this program work C?
void fade(ImagenBMP *imagen1, ImagenBMP *imagen2, int f) {
float v = (float)f/255;
for (int i = 0; i < imagen1->tamanyo; i++) {
imagen1->datos[i] = (imagen1->datos[i] - imagen2->datos[i])*v + imagen2->datos[i];
}}; //end of fade
它应该将两个图像淡化为一个图像。
如果重写等式,您将得到:
imagen1->datos[i] = v*imagen1->datos[i] + (1-v)*imagen2->datos[i];
这就是混合的工作原理。您正在指定函数参数 f
中应包含第一个图像的多少(共 255 个部分),第二个图像中将包含 255-f
个部分。
void fade(ImagenBMP *imagen1, ImagenBMP *imagen2, int f) {
float v = (float)f/255;
for (int i = 0; i < imagen1->tamanyo; i++) {
imagen1->datos[i] = (imagen1->datos[i] - imagen2->datos[i])*v + imagen2->datos[i];
}}; //end of fade
它应该将两个图像淡化为一个图像。
如果重写等式,您将得到:
imagen1->datos[i] = v*imagen1->datos[i] + (1-v)*imagen2->datos[i];
这就是混合的工作原理。您正在指定函数参数 f
中应包含第一个图像的多少(共 255 个部分),第二个图像中将包含 255-f
个部分。