JEWL
Publicado por Daniel (1 intervención) el 24/05/2005 18:39:24
Me gustaria saber cómo puedo evitar el parpadeo que se produce cuando dibujo imagenes bmp con jewl.
Valora esta pregunta
0
with Jewel.Display;
with Jewel.Graphic_Image;
procedure Evitar_Parpadeo is
-- Importar los paquetes necesarios
use Jewel.Display;
use Jewel.Graphic_Image;
-- Variables para el doble almacenamiento en búfer
Buffer1, Buffer2 : Screen_Buffer;
Current_Buffer : Screen_Buffer := Buffer1;
-- Variables para el dibujo de imágenes
Image : aliased Graphic_Image;
begin
-- Inicializar el sistema de visualización
Initialize;
-- Configurar el tamaño y el formato de los búferes
Set_Buffer_Size(Buffer1, Get_Screen_Width, Get_Screen_Height);
Set_Buffer_Size(Buffer2, Get_Screen_Width, Get_Screen_Height);
-- Activar el doble almacenamiento en búfer
Double_Buffering(True);
-- Cargar la imagen BMP en la memoria
Load_BMP(Image, "ruta_de_la_imagen.bmp");
loop
-- Borrar el búfer actual
Clear_Buffer(Current_Buffer);
-- Dibujar la imagen en el búfer actual
Draw_Image(Image, Current_Buffer);
-- Cambiar al otro búfer
Current_Buffer := Other_Buffer(Current_Buffer);
-- Mostrar el búfer actual en pantalla
Swap_Buffer(Current_Buffer);
-- Pausa para evitar la saturación de la CPU
Delay(10); -- Ajusta el valor según sea necesario
end loop;
-- Liberar recursos y finalizar
Unload_Image(Image);
Release;
end Evitar_Parpadeo;