Как преобразовать цвета в оттенки серого в Java только с помощью java.io. *; библиотека?
Ну, я получил это .. потому что на моем месте они просят это так ... Ну, у меня есть это: // некоторые переменные и комментарии являются возможным кодом .. Но я имею в виду, я не знаю, как это сделать точно, я в интернете обнаружил, что для преобразования R байт находится в * 0,21, где G равен * 0,71, а синий - * 0,07. Я просто могу использовать эту библиотеку java.io. *; и я работаю с изображениями в формате BMP 1024 x 768, если вы можете мне помочь, или вы хотите, чтобы я был более конкретным, скажите мне. я не знаю, нужно ли мне добавить другие переменные или вынуть их, или изменить, пожалуйста, помогите мне. Я не настолько новичок в этом языке, но я не эксперт. Код прямо здесь:
импорт java.io. *;
публичный класс Grayscale {
FileInputStream image;
FileOutputStream img;
byte[] datos;
int i;
int cont;
public Grayscale(String nombre)throws Exception{
this.image = new FileInputStream(nombre);
this.img = img;
this.datos = new byte[image.available()];
this.i = 54;
this.cont = 1;
}
public void gray()throws Exception{
image.read(datos);
img = new FileOutputStream("grayscale.bmp");
while(i<datos.length){
if(cont == 1){
datos[i] = datos[i] ;//* 0.21;
cont++;
} else if(cont == 2){
datos[i] = datos [i] ;//* 0.71;
cont++;
} else if(cont == 3){
datos[i] = datos[i] ;//* 0.07;
cont++;
}else{
cont = 1;
}
i++;
}
img.write(datos);
}
}