Q:

Alinear bitmap image a center

Tengo el siguiente código para generar un bitmap en un ticket para una impresora térmica:
String ticketPreSelectedImage = SharedPref.getInstance(this).getTicketPreSelectedImagePath();

if (ticketPreSelectedImage != null) {

    Bitmap image = BitmapFactory.decodeFile(ticketPreSelectedImage);

    ticketBuilder.addCommand(new byte[]{27, 97, 1, 0}); // Esta linea es la que creo que centra la imagen

    ticketBuilder.addImage(image, image.getWidth() * 1, image.getHeight() * 1);
}

Este código lo que hace es alinearme la imagen en el ticket a la izquierda y no se muy bien como centrarla para que quede bien,
Un saludo.

A:

La línea que marcas lo que hace es enviar un código ESC/POS. Concretamente, se puede traducir a lo siguiente:
ESC a 1 0

Revisando la lista de comandos ESC/POS, encontramos lo siguiente para ESC a:

[Formato] 
ESC a n
En el modo Standard, alinea todos los datos en una lines al layout seleccionado, usando n de la siguiente manera:
  n          Justificado
-----------------------------------
0, 48 Justificado a la izquierda
1, 49 Centrado
2, 50 Justificado a la derecha

Tomando eso en cuenta, tu código está enviando un 0 después del 1 que es lo que quieres (centrado). Así que deberías tener lo siguiente en tu código:
ticketBuilder.addCommand(new byte[]{27, 97, 1}); //27=ESC 97=a 1=Centrado

P.D. No se que librería estás usando para enviar los comandos, y es posible que necesite enviar un 0 para marcar el final del comando, pero añado mi respuesta ya que creo que la información sobre ESC/P y el comando que estás usando puede resultarte útil

