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


 
Herramientas
  #1  
Viejo 13/06/13, 09:34:07
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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.
Responder Con Cita
  #3  
Viejo 13/06/13, 11:01:09
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Pues eso, mira la documentación de la clase Matrix que tiene un montón de métodos para convertir coordenadas
Responder Con Cita
  #5  
Viejo 14/06/13, 08:42:51
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Son todos los mapXXXX, según lo que quieras mapear y donde quieras que te guarde el resultado.
Responder Con Cita
  #7  
Viejo 14/06/13, 08:55:48
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Muchas gracias! voy a probarlo!
Responder Con Cita
Respuesta

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

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 13:44:08 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007