Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 13/06/13, 09:34:07
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Problema con el trato bitmaps

Buenas! tengo un bitmap dibujado en un lienzo (canvas) y quiero hacer cositas con el rotar agrandar mover etc, mi bitmap esta dentro de una clase llamada imagen que tiene:

public class Imagen{
private int x,y;
private double ancho,alto;
private double rotacion;
private Bitmap bmp;
......

Tengo 2 problemas:
1. Cuando roto lo hago con una matriz y me rota genial, pero el x,y,ancho,alto de la clase imagen que utilizo para ver si cuando toco sobre el lienzo hay un bitmap dentro, no se me rota entonces si tengo un bitmap rectangular, el rectángulo que "contiene" al bitmap no rota por lo que a la hora de tocar dentro hay posiciones que no lo detecta (por el problema de que no roto los puntos x,y,ancho,alto) Espero haberme explicado bien.

2. Cuando escalo el bitmap si lo hago pequeño y luego grande a veces se me deforma un poco, o se me estira, lo que hago para reescalarlo es calcular la distancia entre los 2 dedos que los voy moviendo y cambiar el "ancho" y el "y" de la imagen y llamo al metodo de reescalar bitmap.

Espero que puedan echarme una manilla! muchas gracias
Responder Con Cita


  #2  
Viejo 13/06/13, 10:28:46
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

1 - Claro, si rotas lo que dibujas en el canvas con una matriz tendrás que aplicar la matriz también a todas las variables que uses y que tengan que rotar. La clase Matrix tiene unos cuantos métodos para transformar coordenadas.

2 - Usa el mismo factor de escala para X y para Y, así no se deforma.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 13/06/13, 11:01:09
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Gracias por la respuesta! pero no se como aplicar esa matriz a las coordenadas, porque para aplicar la matriz al bitmap simplemente lo hago con canvas.drawBitmap(bmp,matriz,null) pero para aplicarla a 4 puntos?
Responder Con Cita
  #4  
Viejo 13/06/13, 12:08:50
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Pues eso, mira la documentación de la clase Matrix que tiene un montón de métodos para convertir coordenadas
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #5  
Viejo 14/06/13, 08:42:51
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Siento mi ignorancia..o el no saber buscar bien, pero en el api no vi el metodo que me dices...o lo vi pero no se que es ese...
Responder Con Cita
  #6  
Viejo 14/06/13, 08:46:07
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Son todos los mapXXXX, según lo que quieras mapear y donde quieras que te guarde el resultado.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #7  
Viejo 14/06/13, 08:55:48
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Muchas gracias! voy a probarlo!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 10:20:15 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /