convertir un tbitmap a integer
hola a todos!
acabo de ingresar en el foro, y os pido ayuda en un problema que tengo. estoy haciendo un juego en delphi , y la pregunta es la siguiente. tengo un bitbuton en el cual le pongo 1 imagen. lo que qiero hacer es que con un timer, a los 3 segundos me canvie a una segunda imagen, y que 2 o 3 segundos mas tarde el bitbuton se encoga hasta desaparecer, y con el un progres bar. digamos que seria como los juegos flash que te pone el "loading", pero con la diferencia que el mio en cuando se cargue toda la progresbar, empieze a encogerse toda la imagen, con el progres bar incluido. esto se podria hacer??? seria posible hacerlo??? como lo tendria que hacer?? el tema del timer lo tengo solucionado, pero no consigo por codigo, decir que si la bitbuton.glyph= a una imagen, que se cambie a otra. como lo hago? gracias de antemano os dejo un trozo de codigo por si os interesa procedure TForm1.BitBtn4Click(Sender: TObject); var x: integer; var y: integer; begin if (bitbtn4.Glyph:=x) then;==>me dice que es incompatible el tbitmap con el integer begin timer2.enabled:=true; bitbtn4.Glyph=y; progressbar3.Position:=progressbar3.Position+1; |
Hola, lo que quieres es cambiar la propiedad anchura y altura (width y height) del dibujo, por lo que tendrias que asignar glyph.width, glyph.height. En el codigo que has puesto hay ademas bastantes fallos (se compara con :=, se asigna con =, se compara x antes de darle un valor) seria bueno que echaras algun vistazo a ejemplos. saludos.
|
compatible tbitmap con integer o string
creo que me he explicado mal:
tengo dos imagenes (1.jpg, y 2.jpg). tengo un bitbuton al cual le asigno una imagen. (1.jpg) luego tengo tambien un timer, que en el momento de ejecucion del programa, se pone en marcha. cuando estoy en ejecucion, lo que yo quiero, es que en el bitbuton se cambie de 1.jpg a 2.jpg El problema es que al hacer el "if" lo que hago es comparar la imagen del bitbuton con la que hay, y si no es la correcta pues que se cambie. te pongo el ejemplo como lo quisiera hacer yo: if (bitbtn4.glyph= '1.jpg') then begin bitbtn4.glyph='2.jpg' end; esto da error porque me dice que son incompatibles los tbitmaps con los integer, y con los string, i viceversa. por eso quiero saber como hacer que los tbitmaps puedan ser compatibles con los strings o integers. si hay alguna funcion o algo parecido al "strtoint, inttostr" nose algo por el estilo. espero que ahora quede mas claro. dime algo si sabes como hacerlo, porfavor. muchas gracias |
Hola, Intenta poner la Unidad JPEG en el Uses del form, ya que Glyph es un formato bitmap de dos tonos y estas tratando de comparar con archivos Jpeg, que talvez el problema anda por ahí ;)
Saludos. EDITO: Los BitButtons tampoco soportan archivos Jpeg :D :D |
Bueno, esto es algo completamente diferente a lo anterior.
No puedes comparar un TBitmap y una string, pues la string que tu estas mostrando no es mas que el nombre del fichero, y no su mapa de bits. Lo mejor que puedes hacer es cargar antes los n TBitmaps en un array y irlos colocando/comparando segun necesidad.
despues de todo esto (y no porque no funcione), creo q lo mejor seria que guardases en una string global cual ha sido tu ultimo glyph guardado, y comparar esta string. Mas que nada para que no te confundas con el codigo. Saludos. PD: deberas, si creas los TBitmaps asi, liberarlos tambien 'manualmente' antes de salir de la aplicación |
muchas gracias gente, ahora me lo mirare haber si encuentro solucion.ya mañana si hay algo os comento el que.
gracias adios |
La franja horaria es GMT +2. Ahora son las 17:17:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi