Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Coordenadas de una QPixmap en una QLabel

Estas en el tema de Coordenadas de una QPixmap en una QLabel en el foro de C/C++ en Foros del Web. Buenas! Tengo un QLabel con un QPixmap, del cual quiero recuperar las coordenadas cuando cliqueo en un punto de la imagen. Estos puntos son enteros, ...
  #1 (permalink)  
Antiguo 25/04/2008, 03:06
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 17 años, 2 meses
Puntos: 0
Coordenadas de una QPixmap en una QLabel

Buenas!

Tengo un QLabel con un QPixmap, del cual quiero recuperar las coordenadas cuando cliqueo en un punto de la imagen. Estos puntos son enteros, desde (0,0) hasta (390, 410).....

Esta imagen me va a servir como una imagen de Textura para Opengl....bueno, el caso es que tengo las coordenadas normalizadas en un fichero (indicadas entre (0,0) y (1,1) como floats), y tengo que saber que coordenadas ("dadas en enteros" ) cliqueo pero como floats, para poder hacer la busqueda de estas coordenadas en su rango de floats entre (0,0) y (1,1)....

Supongo que tengo que normalizar la imagen, ........es posible hacer esto?

Sino, teneis alguna idea?

Muxas gracias!
  #2 (permalink)  
Antiguo 25/04/2008, 07:56
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: Coordenadas de una QPixmap en una QLabel

pues creo que te puedo ayudar!
es una conversion muy simple... sabiendo el tamaño de la textura, solo tienes que usar esta formula:
x(entero) = x(float)*ancho_de_imagen;
y(entero) = y(float)*altura_de_imagen;

y a aplicando un poco de algebra puedes despejar el float...
x(float) = x(entero)/ancho_de_imagen;
y(float) = y(entero)/altura_de_imagen;

espero que me haya explicado bien y que te sirva.
si no crees que funciona, pongamos que tienes una imagen de 300x200;
si clicas en la posicion x=120, el float x de 0 a 1 seria 120/300 o sea 0.4;

un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:57.