Fix getAlphaRaster for ExtraSamplesColorModel

This commit is contained in:
Ivan Khaldeev
2018-06-29 10:02:05 +04:00
parent 44530d4717
commit c83171cdbf
3 changed files with 36 additions and 0 deletions
@@ -7,6 +7,7 @@ import java.awt.color.ColorSpace;
import java.awt.image.ComponentColorModel;
import java.awt.image.ComponentSampleModel;
import java.awt.image.SampleModel;
import java.awt.image.WritableRaster;
/**
* ExtraSamplesColorModel.
@@ -41,4 +42,19 @@ final class ExtraSamplesColorModel extends ComponentColorModel {
// Must have the same number of components
return numComponents == sm.getNumBands() && transferType == sm.getTransferType();
}
@Override
public WritableRaster getAlphaRaster(WritableRaster raster) {
if (hasAlpha() == false) {
return null;
}
int x = raster.getMinX();
int y = raster.getMinY();
int[] band = new int[1];
band[0] = super.getNumComponents() - 1;
return raster.createWritableChild(x, y, raster.getWidth(),
raster.getHeight(), x, y,
band);
}
}