【发布时间】:2021-12-27 02:44:01
【问题描述】:
此代码有效,它读取字节类型的文件,并在分配图像后在另一部分所在的目录中创建一个副本,名称不同,我必须这样做,创建一个新文件,我只是必须让它在 X 和 Y 轴上旋转作为最终的 180 度图像,而无需创建库来完成这项工作。 你能帮我提供代码或madnar信息吗 谢谢!
public class BMPRotations {
public static void main(String[] args) throws IOException {
int contador=0;
int datos_entrada[] = new int[921655];
try {
FileInputStream archivo_lectura = new FileInputStream("Ruta__picture.bmp");
boolean final_ar = false;
while(!final_ar) {
int byte_entrada = archivo_lectura.read();
if(byte_entrada!=-1)
datos_entrada[contador]=byte_entrada;
else
final_ar=true;
//Muestra todos los bytes
//System.out.println(datos_entrada[contador]);
contador++;
}
archivo_lectura.close();
}catch(IOException e) {
System.out.print("Error");
}
System.out.print("Bystes de la imagen: " + contador);
crea_fichero(datos_entrada);
}
static void crea_fichero(int datos_nuevo_fichero[]) {
try {
FileOutputStream fichero_nuevo = new FileOutputStream("Ruta_picture.bmp");
for(int i=0; i<datos_nuevo_fichero.length;i++) {
fichero_nuevo.write(datos_nuevo_fichero[i]);
}
fichero_nuevo.close();
}catch(IOException e) {
System.out.println("Error ");
}
}
这是一张参考图片。
640X480 24 位格式
【问题讨论】:
-
图片的实际格式是什么?大多数图像格式不仅仅是表示颜色的字节数组,有些是压缩的,有些有调色板,它们是复杂的结构。您的复制代码还有很多不足之处
-
@MadProgrammer 640X480 24 位格式,仍在学习和社区新手,非常感谢各位
-
BMP 文件的前 54 个字节不是像素数据。见en.wikipedia.org/wiki/BMP_file_format。
标签: java text converters bmp