¿Cuál es la diferencia entre `Matrix.setRotate` y` Matrix.postRotate`

Estoy intentando girar un mapa de bits determinado usando el objeto de la matriz del android.

Quiero enviarlo a girar a mi servidor y estoy usando Android API8.

¿Debo usar Matrix.setRotate o Matrix.postRotate ?

¿Cuál es la diferencia entre los dos?

Desde la API de referencia , setRotate establece una rotación absoluta particular (alrededor de (0,0) o algún otro punto suministrado por el usuario), mientras postRotate agrega a la rotación de la matriz es llamado.

La pregunta de cuál debo usar es la mejor respuesta intentando cada uno y ver cuál le da el resultado que usted desea.

setRotate reemplazará las operaciones de matriz ya realizadas con la rotación especificada. postRotate utilizará los valores de matriz actuales y los transformará usando la rotación especificada.

Si quieres traducir, entonces gire setTranslate , luego postRotate . Si simplemente desea girar y está comenzando con una new Matrix entonces técnicamente puede setRotate o postRotate , ya que su matriz será inicialmente la identidad.

He incluido la referencia de la API al objeto Matrix. No lo consideré una explicación universalmente accesible sin embargo.

  • Android ImageView - Obtener coordenadas de tap (clic) independientemente de la ubicación de desplazamiento o la escala de zoom
  • La rareza de Android OpenGL con el método setLookAtM
  • Android: gira la imagen en ImageView por 90degrees pero sin demora
  • Estiramiento Mapa de bits en una esquina específica
  • Android: ¿Hay algún evento desencadenado cuando activity.setContentView ha terminado de procesar?
  • Vista de la imagen de Android escala de la matriz + traducir
  • ¿Podría alguien por favor explicar la matriz (Mr.Anderson)?
  • Utilizar getRotationMatrix y getOrientation en Android 2.1
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.