AIMG-mostrar imagem fraquimentada em pontos aleatórios
Publicado por Samuel Leonardo 09/12/2008
[ Hits: 6.139 ]
Homepage: https://nerdki.blogspot.com.br/
Download AIMG-imagem fraquimentada.tar.gz
Este script mostra como "despedaçar" uma imagem, no formato bmp, na tela usando a liSDL, mostrando antes por 3 segundos a imagem original.
Acompanha uma versão pré-compilada para download e o WallPapper linux.6.bmp.
ATENÇÃO: é preciso ter antes os arquivos de desenvolvimento da libSDL instalados.
Para compilar: gcc -o imagem imagem.c -lSDL
Para exzecutar: ./imagem
Visitem meus outros scripts:
http://www.vivaolinux.com.br/scripts/userview.php?login=Sam%20L.
BAIXE TAMBÉM UMA APOSTILA EXCELENTE SOBRE DESENVOVIMENTO DE JOGOS COM SDL:
http://silveira.wordpress.com/2006/09/21/apostila-de-desenvolvimento-de-jogos/
t+!!!
/* Este script mostra como "despedaçar" uma imagem, no formato bmp, na tela usando a liSDL, mostrando antes por 3 segundos a imagem original. Acompanha uma versão pre-compilada para download e o WallPapper linux.6.bmp. ATENÇÃO: você precisam ter antes os arquivos de desenvolvimento da libSDL instalados. para compilar: gcc -o imagem imagem.c -lSDL para exzecutar: ./imagem visitem meus outros scripts: http://www.vivaolinux.com.br/scripts/userview.php?login=Sam%20L. BAIXE TBM UM APOSTILA EXCELENTE SOBRE DESENVOVIMENTO DE JOGOS COM SDL: http://silveira.wordpress.com/2006/09/21/apostila-de-desenvolvimento-de-jogos/ t+!!! */ #include <stdio.h> #include <SDL/SDL.h> /*numero de imagens mostrada a cada 500 milisegundos */ #define NUMRECT 20 /*OBS: QUANTO MAIOR FOR NUMRECT, MENORES SÃO OS FRAQUIMENTOS*/ int main(int argc, char *argv[]) { SDL_Init(SDL_INIT_VIDEO); SDL_Surface *screen, *foto; foto = SDL_LoadBMP("linux.6.bmp"); if(!foto) printf("ERRO: %s\n",SDL_GetError()); screen = SDL_SetVideoMode(foto->w, foto->h, 0, SDL_ANYFORMAT | SDL_SWSURFACE | SDL_HWSURFACE); if(!screen) { printf("ERRO: %s",SDL_GetError()); SDL_Quit(); return -1; } SDL_Rect destino, fonte; fonte = (SDL_Rect){0,0,(int)(foto->w/NUMRECT),(int)(foto->h/NUMRECT)}; destino = (SDL_Rect){0,0,(int)(foto->w/NUMRECT),(int)(foto->h/NUMRECT)}; int fim=0, acres_y=4, acres_x=4; int i, j; SDL_Event evento; SDL_BlitSurface(foto, NULL, screen, NULL); SDL_Flip(screen); SDL_Delay(3000); while(!fim) { while(SDL_PollEvent(&evento)) if(evento.type == SDL_QUIT) fim=1; SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format,0,0,0)); for(i=0;i<foto->w/NUMRECT;i++) { fonte.x = i*fonte.w; for(j=0;j<foto->h/NUMRECT;j++) { fonte.y = j*fonte.h; /* POSIÇÕES ALEATORIAS DAS IMAGENS */ destino.x = random()%(foto->w - fonte.w) + acres_x; destino.y = random()%(foto->h - fonte.h) + acres_y; /* 'COLAGEM' DAS IMAGENS EM POSIÇÕES ALEATÓRIAS */ SDL_BlitSurface(foto, &fonte, screen, &destino); } } /* ATUALIZANDO A TELA INTEIRA */ SDL_Flip(screen); /* AGUARDANDO 500ms ATÉ O PRÓXIMO LOOP */ SDL_Delay(500); } SDL_Quit(); return 0; }
Algoritmo de ordenação Quick Sort
AA linux kernel modificado por minhe
Programa recursivo para obter raiz quadrada
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Problema com audio apos upgrade (1)
Programa simples pra cortar vídeos [RESOLVIDO] (7)
Instalação automatizada do Debian 12 em UEFI (1)