21 lines
811 B
Java
21 lines
811 B
Java
package org.jcodec.scale;
|
|
|
|
import org.jcodec.common.model.ColorSpace;
|
|
import org.jcodec.common.model.Picture;
|
|
|
|
public class RgbToBgr implements Transform {
|
|
public void transform(Picture src, Picture dst) {
|
|
if ((src.getColor() != ColorSpace.RGB && src.getColor() != ColorSpace.BGR) || (
|
|
dst.getColor() != ColorSpace.RGB && dst.getColor() != ColorSpace.BGR))
|
|
throw new IllegalArgumentException("Expected RGB or BGR inputs, was: " +
|
|
String.valueOf(src.getColor()) + ", " + String.valueOf(dst.getColor()));
|
|
byte[] dataSrc = src.getPlaneData(0);
|
|
byte[] dataDst = dst.getPlaneData(0);
|
|
for (int i = 0; i < dataSrc.length; i += 3) {
|
|
byte tmp = dataSrc[i + 2];
|
|
dataDst[i + 2] = dataSrc[i];
|
|
dataDst[i] = tmp;
|
|
dataDst[i + 1] = dataSrc[i + 1];
|
|
}
|
|
}
|
|
}
|