use alpha channel if alpha image has it

This commit is contained in:
David Rose 2003-03-20 14:56:48 +00:00
parent 402b679d1e
commit b6eefd9e23
2 changed files with 22 additions and 6 deletions

View File

@ -246,9 +246,17 @@ read(const Filename &fullpath, const Filename &alpha_fullpath) {
// Make the original image a 4-component image
image.add_alpha();
for (int x = 0; x < image.get_x_size(); x++) {
for (int y = 0; y < image.get_y_size(); y++) {
image.set_alpha(x, y, alpha_image.get_gray(x, y));
if (alpha_image.has_alpha()) {
for (int x = 0; x < image.get_x_size(); x++) {
for (int y = 0; y < image.get_y_size(); y++) {
image.set_alpha(x, y, alpha_image.get_alpha(x, y));
}
}
} else {
for (int x = 0; x < image.get_x_size(); x++) {
for (int y = 0; y < image.get_y_size(); y++) {
image.set_alpha(x, y, alpha_image.get_gray(x, y));
}
}
}

View File

@ -293,9 +293,17 @@ read(PNMImage &image) const {
}
image.add_alpha();
for (int y = 0; y < image.get_y_size(); y++) {
for (int x = 0; x < image.get_x_size(); x++) {
image.set_alpha(x, y, alpha_image.get_gray(x, y));
if (alpha_image.has_alpha()) {
for (int y = 0; y < image.get_y_size(); y++) {
for (int x = 0; x < image.get_x_size(); x++) {
image.set_alpha(x, y, alpha_image.get_alpha(x, y));
}
}
} else {
for (int y = 0; y < image.get_y_size(); y++) {
for (int x = 0; x < image.get_x_size(); x++) {
image.set_alpha(x, y, alpha_image.get_gray(x, y));
}
}
}
}