FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Reducir una TImageList por encima
Hola,
Tengo una imágen de 128x640 pixels (donde se encuentra dibujado una Letra cada 64 pixels en 2 filas [10 letras encima y 10 letras abajo] c/64 pixels) que lo cargo con una TImageList (cual si fuera una matriz de 10x10), el código de abajo dibujándolo en un TPaintBox : ImageList1.Draw(PaintBox1.Canvas,0,0,0) me muestra el elemento [0,0] (primero de la fila 1); lo que intento es mostrar en este PaintBox el elemento [1,1] es decir por ejemplo, el SEGUNDO elemento de la Segunda Fila de mi imagen. No sé como realizarlo ya que el ImageList no tiene la propiedad TOP, entonces no avanzo.... ¿Existe alguna forma de reducir por código el tamaño de una TImageList o en su defecto del TPaintBox por encima para que me muestre los elementos de la parte inferior de mi Imagen?
|
#2
|
|||
|
|||
Después de darle tanta vuelta al asunto he alcanzado responder a mi pregunta en un 90% creando un BitMap temporal, según el código de abajo, Cuando corro la aplicación y hago click en el primer botón funciona (me muestra un elemento de la primera fila), pero el segundo botón no me muestra nada!
De nuevo vuelvo a correr la aplicación y hago click pero esta vez en el segundo botón funciona (me muestra sí un elemento de la segunda fila) pero ahora el primer botón no me muestra nada! ¿A que se debe todo esto? Luego para corregir este problema, he creado un tercer botón para el borrado del Canvas. En el código de arriba al hacer click en el primer botón dibuja bien, luego click en el tercer botón y borra el Canvas; pero cuando click en el segundo botón me vuelve a mostrar el mismo elemento de la primera fila, y no el elemento de la segunda fila. ¿Cómo corregir este problema? Por favor. |
#3
|
||||
|
||||
Antes de usar AddMasked usa Clear para borrar el contenido del TImageList, de lo contrario las imágenes que añades lo harán a continuación de las que ya están. Es decir algo así:
|
#4
|
|||
|
|||
Gracias Seoane, así funciona,
Ahora veré el modo de llevarlo a un TTimer para simular una blinkado, pues por un momento debe mostrar la parte de arriba de mi imagen, luego la de abajo el mismo elemento (parte gráfica) pero con distinto color (así los tengo) Una consulta: ¿el orden de mi código está bien? por ejemplo en:
Y otras líneas ¿están bien ordenados, o estoy muy chapulín? |
#5
|
||||
|
||||
Cita:
Si te fijas al cargar las imágenes en el TImagelist, primero añadimos una fila y la otra a continuación. A la hora de dibujar solo tenemos que utilizar como índice el numero de columna + el numero de fila * 10, por ejemplo el elemento [5,1] tendría como índice 5+(1*10)=15. |
#6
|
|||
|
|||
Acabo de observar algo interesante, que si cargamos un BitMap de resolución 256 colores o 24 Bits con Bitmap.LoadFromFile('Archivo.BMP'); carga muy bien, pero este mismo archivo lo he modificado y regrabado en Photoshop con una resolución de 32 bits, y al correr el programa me lanza error en la línea de: Bitmap.LoadFromFile('Archivo.BMP') devolviendome un error:
"Project Transparente.exe raised exception class EReadError with message 'Stream read error'. Process stopped. Used Step or Run to continue ." ¿Debo limitarme a resoluciones menores que 32 bits? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
MDIChild encima | vtdeleon | OOP | 2 | 20-02-2005 11:49:24 |
TImageList...como se usa? | alt126 | C++ Builder | 2 | 09-02-2005 09:30:59 |
TImageList | scooterjgm | OOP | 1 | 15-10-2004 10:43:55 |
Añadir imagenes en un TimageList | JROMAN | Gráficos | 1 | 08-10-2004 09:21:45 |
TSpeedbutton Glyph desde un TImageList | dmassive | Varios | 3 | 11-03-2004 15:06:02 |
|