FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cómo mostrar imagenes irregulares?
Hola amigos,
Soy novato para el manejo de gráficos en Delphi. Quisiera que me orientaran sobre cómo mostrar imágnes irregulares, en tiempo de ejecución, llamadas todas ellas mediante botones (que he colocado en la parte inferior de la pantalla). El efecto que busco es como armar un rompecabezas de piezas irregulares, donde las piezas las vas colocando sin una secuencia y al final muestra la figura completa. También les agradeceré me recomienden el formato de imagen más adecuado para que el programita no pese mucho. |
#2
|
||||
|
||||
En principio, un TImage con la propiedad Transparent en True, strecht a true, Autosize en false. Con eso ya tienes las piezas.
El moverlas, podría ser por botones (cambiando el top y left de cada imagen) o arrastrar y soltar. El formato de imagen pues JPEG, tienes que añadir el "uses jpg" para poder usar ese formato. ¿te sirve? Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Algo para mirar que puede ayudarte con el tema de arrastrar y soltar.
http://www.delphiforfun.org/programs...gImageDemo.htm |
#4
|
||||
|
||||
Gracias por las sugerencias. Las pondré en práctica ya y comento que pasa.
Saludos. |
#5
|
||||
|
||||
Cita:
Disculpas, creo que no me expliqué bien. Trato de armar algo parecido a un rompecabezas, en el que las piezas tienen formas no definidas (una parte es hembra y la otra macho, para ensamblarse), vamos como si se tratase de la división política de un país: Texas, California, Miami, etc. Las imágenes las tengo por ahora en formato GIF, rodeadas de una zona que debe ser transparente y no ocultar la imagen que quedase abajo, sino acoplarse a ella. Gracias. |
#6
|
||||
|
||||
Te he entendido bien.
La idea es usar un TImage que será transparente, la imagen por tanto debe tener un color de fondo que después puede obligarse a ocultar. El resultado que ves en pantalla es sólo la imagen irregular. ¿se llega a ver el borde cuadrado del Timage? Ese es el método fácil. El método algo más complejo y laborioso, es crear una ventana irregular, es decir, en tiempo de diseño creas una ventana te tamaño de la pieza y ahora con las propiedades de la ventana: -Color := clRed - TransparentColor := clRed - Transparent := true pones un Timage con la imagen cargada de la pieza. Cuando muestres esa ventana, será igual que el windows Media Player o esos reproductores de mp3 tan chulos con agujeros y demás. Pero esto tiene un fallo, si la imagen de la pieza tiene un color rojo puro, se creará un hueco en ese sitio. Como estás haciendo un puzzle y es más que probable que uses todos los colores, no te recomiendo esta opción. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
||||
|
||||
Hola Lepe,
Sigo tratando de mostrar la imágenes de manera que se vaya formano la imagen final, pero lo que no logro hacer es que el color que rodea a las imágenes irregulares se transparente. Siempre se ve el color que las rodea, en este caso ya he probado con distintos colores como fondo y nada. Las imágenes son JPG, y al colocar una sobre la otra desaparece la que queda abajo. Es más, probé iniciar el programita con una de las imágenes, activando Transparent en el TImage, y tampoco logro la transparencia. Seguramente algo estoy haciendo mal, usé Delphi 4, 5 y 7 y en ninguno logro la transparencia. Heeeelp!!! Saludos. |
#8
|
||||
|
||||
He hecho pruebas con delphi 7 y con jpeg es cierto que no va las transparencias. Quizás usando un componente de terceros.
Aquí he hecho una prueba con bmp y si funciona correctamente, de hecho el color de fondo de cada pieza es distinta y funciona bien con el Transparent en cada imagen. Si no recuerdo mal Delphi coge el pixel (0,0) de la imagen y después aplica la transparencia a ese color en todo el Timage. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
||||
|
||||
Gracias Lepe,
Efectivamente, con imágenes BMP no hay problema, hasta el Delphi 4 funciona bien. Sin embargo no funciona con las JPG. Probablemente requiere alguna variante de los formatos JPG, no obstante los manuales dicen que basta con incluir en uses la unidad "Jpeg", pero no funciona. Tambien dicen que el componente TImage hace la transparencia sobre el color que tiene el último pixel de abajo a la izquierda de la imagen involucrada. Creo que no habrá más que usar imágenes BMP. Ahora mi problema se reduce a que permanezca la imagen anterior al sobreponerle una nueva. Desafortunadamente estoy comenzando a manejar gráficos en Delphi y no sé muchos de los trucos, propiedades y valores de éstos. Te agradezco mucho el apoyo que me haz dado. Saludos |
#10
|
||||
|
||||
Cita:
Al menos en Delphi 7 si fue añadir el uses jpeg y listo. después cargué la imagen sin problemas, eso sí, desde el IDE, no sé en ejecución como irá, pero debería ser igual. Si abres las dos imágenes, verás que están de color azul y rojo el fondo, pues bien, con el paint estuve cambiando de color rojo el fondo con la utilidad aerógrafo sólo una parte de la foto, y ya en delphi, en JPG me hizo la transparencia a esa parte que tenía en rojo. Quizás tu último pixel es de otro color o tonalidad... no lo sé. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#11
|
||||
|
||||
Hola Lepe,
Sigo sin poder hacer transparentes mis imágenes JPG, ni en el Delphi 7. En uses pongo Jpeg pero no funciona. Ya limpié bien mis imágenes en las esquinas, ahora estoy usando fondos en color blanco... y nada. Me dices que tú no tienes problemas con Delphi 7y eso es más frustrante. También he trabajado en otra PC con el 7... sin éxito. Con las imágenes BMP no tengo problemas, pero mis figuras pesan unas 90 veces más que las mismas en JPG y se nota un leve retardo al mostrar una a una. Esto ya se volvió un reto para mi... Saludos. |
#12
|
||||
|
||||
a ver, a ver.... .que tengo instalada la biblioteca GraphicEx, que permite reconocer en delphi muchos formatos de imágenes (es gratuita), a ver si es eso .
Voy a cotillear un poco sobre el tema y te informo. Note: Transparent has no effect unless the Picture property specifies a TBitmap object. , pos probando otra cosa.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 28-11-2008 a las 18:13:58. |
#13
|
||||
|
||||
El problema añadido del JPG es que obviamente comprime los colores y el fondo no es realmente Rojo, puede variar algunas tonalidades.
Solución: cambiar de formato. Como te decía he usado GraphicEx (tan sencillo como descomprimir y colocar en una carpeta accesible por el library path de delphi e incluir el uses GraphicEx). Hecho esto ya puedes abrir los .png, que como saben son imágenes sin pérdida de la calidad. (Mi bmp ocupaba 33 kb, el png 6 kb). He usado Gimp para la conversión. También he pintado sobre el canvas del form la imagen, ya que estando dentro de un TImage no salía el fondo, quizás con más tiempo se pueda mejorar. La idea sería ocultar la barra de título del Form2 y los bordes, hacer que puedas arrastrar la ventana arrastrando en la imagen (busca por el foro por HTCAPTION) Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 28-11-2008 a las 19:16:41. |
#14
|
||||
|
||||
Gracias Lepe,
Eres muy amable en apoyarme en este reto. Haré lo que me dices y les comento. Covertiré los BMP en PNG, creo que con los JPG no se logrará la transparencia a menos que se incluyan en el Delphi componentes de terceros Saludos. |
#15
|
||||
|
||||
usa irfanview te aliviará el proceso por lotes, marcas todos los archivos y le dices convertir... listo .
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#16
|
||||
|
||||
Hola Softhem, no se si seguis interesado en el tema, si es asi, lo que necesitas es uno de los componentes que desarrollo nuestro compañero Fede (delphi.com.ar).
El componente se llama TImageTransp. Estaba disponible en su pagina web, pero por lo visto esta caida. Si no lo puedes encontrar a dicho componente, te lo busco y lo subo aqui.
__________________
[Crandel] |
#17
|
||||
|
||||
Cita:
|
#18
|
||||
|
||||
Cita:
Lo que sucede si utilizamos ventanas irregulares, es que el dibujado de estas es mucho mas costoso, ya que no entra dentro de la lógica de overlapping de rectángulos. Un posibilidad concreta, es utilzar imágenes con transparencias, por ejemplo: GIF o PNG. Recomiendo las segundas, ya que tienen un canal Alpha y permiten un degradado mas suave. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#19
|
||||
|
||||
Cita:
aca lo subo, por si lo necesitas, para que veas que bueno soy con vos compartiendo tus cosas Tal como comentas el dibujado es mucho mas costoso y tiene algunos problemas en la parte del refresco. Principalmente tuve problemas al usar un programa en que utilizaba este componente a traves del "Remote desktop" de windows, al prorgama le costaba muchisimo refrescar las imagenes. El problema de usar imagenes con trasparencias es que cuando haces click sobre una parte en el que es trasparente igualmente el componente recibe el evento del click y no lo hace la imagen que esta por debajo. Tu componente si lo resuelve.
__________________
[Crandel] |
#20
|
||||
|
||||
Cita:
PD: Si es mi letra!.. ese componente lo hice yo, pero lo perdí en el olvido
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mostrar imagenes en club delphi | Elite237 | Varios | 3 | 14-11-2008 03:01:53 |
Insertar y mostrar imagenes | jocey | Varios | 4 | 05-09-2008 16:28:18 |
Como mostrar imágenes?? | Io | PHP | 2 | 25-01-2008 16:52:16 |
mostrar imágenes por medio de un link | halizia | PHP | 10 | 13-03-2007 14:25:31 |
mostrar varias imagenes | JoseQ | Impresión | 0 | 12-08-2004 14:23:29 |
|