FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cambiar entre imágenes en TImage
Quiero hacer que al elegir una de las opciones de un combobox cambie la imagen de un TImage pero no quiero que se vean los archivos de imagen. He probado a meterlos en un TImageList pero me dice que exceden el tamaño del TImageList o algo así y al mostrarlas en el TImage me salen imágenes de píxeles enormes y no se ve la imagen. ¿Cómo puedo hacerlo? Otro modo se que es meter las imágenes en los recursos y luego leerlas pero ni idea de como hacer eso.
¿Me podrían ayudar? |
#2
|
||||
|
||||
Puedes guardarlas en otros TImage que estén ocultos.
LineComment Saludos |
#3
|
||||
|
||||
Cambia el ancho y el alto del TImageList
Saludos. |
#4
|
||||
|
||||
Lo estoy intentando pero ahora al añadir las imágenes al TImageList y dar a guardar o ejecutar c++builder 6 se queda congelado y tengo que acabar cerrándolo a la fuerza. He probado incluso con una sola imagen y sigue pasando. El tamaño es de height: 179 width: 320.
|
#5
|
||||
|
||||
Hola.
Estuve reproduciendo tu caso y obtengo el mismo resultado. Según este enlace, A problem with ImageList in C++ Builder 6 Professional, se trataría de un bug que se presenta cuando el ancho de la imágen es grande, no pude encontrar otra referencia al problema. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
El máximo que admite es 256 x 256, a Berlín le pasa lo mismo, solo que te avisa
Sin embargo con la API no hay problema. Lo siguiente funciona en BCB5 tranquilamente: Código PHP:
Saludos. |
#7
|
||||
|
||||
Y si las cargas de un archivo de recursos?
Puedes usar este editor de recursos Que pena... es C++, Aunque acá en la documentación muestran como se maneja
__________________
Buena caza y buen remar... http://mivaler.blogspot.com Última edición por movorack fecha: 27-11-2017 a las 22:05:15. |
#8
|
||||
|
||||
No entiendo como harías con ese código para añadir las imágenes al TImageList.
|
#9
|
||||
|
||||
El código solo demuestra que la API puede crear ImageList de tamaño grande sin problemas. Ese componente no se lo inventó Borland, existe en Windows con el mismo nombre y para usos similares a los de la VCL. Ahora bien, a veces es complejo unir VCL on API. De un HIMAGELIST puedes obtener las imágenes en forma de HBITMAP que puedes asignar a un TImage. Para cargar las Imágenes puedes hacerlo como recursos o de un stream. Te dejo la información: About Image Lists
Saludos. |
#10
|
||||
|
||||
Lo estoy intentando hacer con recursos y algo estoy haciendo mal porque me dice que no encuentra dicho recurso.
Lo que hago es que voy en la consola a esta ruta: "C:\Archivos de programa\Borland\CBuilder6\Bin" Ejecuto esta línea: Código:
brcc32 -r "C:\Documents and Settings\BlueDeep\Escritorio\Prueba PS3\Imagenes.rc" Código:
MAPA1 UPCBMP24 "img1.BMP" MAPA2 UPCBMP24 "img2.BMP" Código PHP:
Para cargar una imagen de esas en el TImage hago esto: Código PHP:
Última edición por aguml fecha: 27-11-2017 a las 23:54:56. |
#11
|
||||
|
||||
Hola.
Te pongo este ejemplo por si te sirve de ayuda. img.rc Código:
1 RCDATA "img1.bmp" 2 RCDATA "img2.bmp" 3 RCDATA "img3.bmp" Código PHP:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#12
|
||||
|
||||
No hace mucho publiqué un truco para cargar imágenes de un recurso que admitía varios formatos usando GDI+. El mensaje original en delphi y C++ se encuentra aquí:
Cargar una Imagen de un Resource RT_RCDATA con API pura y GDI+ Flat El código es el siguiente: El archivo de recursos RC: Código PHP:
Código PHP:
Código PHP:
Saludos. |
#13
|
||||
|
||||
Genial a todos, al final lo consegui gracias a vuestra ayuda. Ahora estoy con lo mismo pero con archivos mp3 y lo he conseguido asi:
Código PHP:
PD: escafandra tu metodo me lo guardo para otro momento que seguro me vendrá bien pero para este son todos BMP con lo que con lo que tengo me sobra y me basta, gracias amigos. PD2: en Song.h lo que tengo es la declaracion del ID para el recurso que es: Código PHP:
|
#14
|
||||
|
||||
Cita:
Última edición por aguml fecha: 29-11-2017 a las 15:21:41. |
#15
|
||||
|
||||
He conseguido crear el .lib asi:
implib Gdiplus.lib gdiplus.dll y ahora me encuentro con que el codigo compila pero no encuentra el recurso con FindResource. El archivo .rc lo tengo asi: Código:
#include "Imagenes.h" IMAGEN1 RCDATA "Imagenes\img1.jpg" IMAGEN2 RCDATA "Imagenes\img2.gif" IMAGEN3 RCDATA "Imagenes\img3.bmp" En el Imagenes.h tengo esto: Código PHP:
Código PHP:
|
#16
|
||||
|
||||
Lo he conseguido haciendo un par de pequeños cambios.
El primero es cambiar el parametro de tu funcion por esto: Código PHP:
Código PHP:
Código PHP:
Me gustaria saber porque no me funciona como lo tenia ya que tampoco consegui hacerlo antes con el codigo que pasó ecfisa y tuve que hacer mas o menos lo mismo y usar el id en vez del nombre. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cargar Imagenes desde un zip a un timage. | javier9090 | Varios | 3 | 19-03-2012 18:20:55 |
dbctrlgrid imagenes con timage | amo3k | OOP | 2 | 08-02-2010 19:22:36 |
Crear imágenes grandes con Timage | BlackDaemon | Gráficos | 6 | 13-03-2009 21:09:47 |
cargar diferentes imagenes en un TImage | huevozen | C++ Builder | 3 | 27-07-2006 09:37:17 |
carga de imagenes en timage | jvalles | Gráficos | 2 | 15-12-2005 19:06:57 |
|