FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hola de nuevo, perdonar que reabra el hilo despues de tres semanas, pero, es que me ha surjido un problema.
He hecho el programa de la siguiente manera: 1º) Me sale un formulario con una captura de pantalla en la cual puedo seleccionar la parte de la pantalla que quiera hacerle zoom.(Gracias Seoane) 2º) Tengo un TtrackBar para saber que tamaño de zoom quiero hacer, 2x 4x etc... 3º) Un Botón para hacer el zoom.Cuando yo pulso el botón me abre un formulario en el cual hay un timer con el siguiente código:
El problema es que cada segundo me amplia más la pantalla y al final no se ve nada mas que la pantalla negra. Y yo lo que quiero es que me la amplie una vez y que cada segundo me refresque la imagen seleccionada en el form anterior para poder ver el reloj. Otra cosa que me pasa es que no me amplia el programa que hay detras del mio, sino que me amplia el mio, y yo lo que necesito es que me amplie el programa donde esta el reloj de cuenta atrás. Por cierto he provado con el código de arriba de seoane y no consigo que no me parpadee. Tampoco entiendo esta sentencia del código de seoane:
¿Para que sirve StretchBlt? Tengo las coordenadas Top,Left,Bottom y Right del reloj que quiero capturar¿Donde meto mis coordenadas en esa sentencia? Gracias por vuestra ayuda. Un Saludo.
__________________
Y ahora puedes aprender truquillos de windows en http://nbull.clubdelphi.com. Última edición por Nbull fecha: 15-05-2006 a las 19:07:12. |
#2
|
||||
|
||||
Vamos por partes, como dijo Jack el destripador
Primero, para que veas los diferentes metodos que se pueden usar para hacer un zoom aqui te dejo un ejemplo. En el encontraras 3 formas de hacer lo mismo, el primero copia un zona de la pantalla directamente, el segundo borra primero antes de copiar (produciendo el parpadeo) y el tercero utiliza un buffer para evitar el parpadeo. Segundo, no se porque en tu ejemplo la imagen se va agrandando (yo lo probe y me funciona bien) pero puede que estes intentando hacer zoom sobre la propia imagen del zoom, lo que provocaria ese efecto. Tercero, StretchBlt es una funcion de la API de windows, mira la ayuda para saber como funciona, pero basicamente hace algo muy parecido a copyRect (de echo internamente creo que CopyRect llama a la funcion StretchBlt). Y por ultimo, no se puede ampliar el contenido de un formulario que esta tapado por otro, lo que se ve es lo que hay, si no lo puedes ver no lo puedes copiar, ni ampliar, etc ... Echale un vistazo al ejemplo haber si te sirve para algo. |
#3
|
|||
|
|||
Muchas gracias Seoane, por fin lo consegui, me ha costado pero lo he conseguido y todo gracias a ti.
Lo que me pasaba es lo que tu me dijiste hacia zoom sobre mi propio formulario, por eso me pasaba ese efecto. Ya me funciona.Gracias de nuevo. Un saludo.
__________________
Y ahora puedes aprender truquillos de windows en http://nbull.clubdelphi.com. |
#4
|
|||
|
|||
Cita:
y alguien tiene idea de como hacerlo en firemonhkey? |
#5
|
||||
|
||||
Por favor, deja de repetir lo mismo en distintos hilos, lee nuestra guía de estilo, gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Pantalla Buena | servicomp | Varios | 5 | 20-07-2004 18:27:46 |
Imágenes con zoom | mutant09 | Gráficos | 2 | 28-05-2004 19:11:34 |
Zoom a los componentes que se encuentran dentro de una form | Majo | Gráficos | 1 | 16-03-2004 21:00:27 |
Zoom de Imágenes | Mariana | Varios | 2 | 14-09-2003 06:33:19 |
Zoom con Delphi6 en XP de un TRichEdit | Beckham | Varios | 3 | 08-08-2003 21:02:13 |
|