BlitzMax/Lições/Imagem

Origem: Wikilivros, livros abertos por um mundo aberto.
Saltar para a navegação Saltar para a pesquisa

Vamos agora ver como manipular imagens com vários comandos no BlitzMax.

Iniciando o gráfico[editar | editar código-fonte]

Para se trabalhar com imagens necessitamos antes de tudo a criação da janela gráfica, vamos cria-la usando o comando Graphics() com a largura e altura como parâmetros.

Graphics(800, 600)
EndGraphics

Criando uma imagem[editar | editar código-fonte]

Vamos criar uma imagem, primeiramente vamos criar a variável minhaImagem que irá armazenar o conteúdo da imagem, depois vamos usar o comando CreateImage() com os parâmetros largura e altura.

Graphics(800, 600)
    minhaImagem = CreateImage(200, 100)
EndGraphics

Agora antes de escrever pixels na imagem precisamos criar outra variável para poder editar seus pixels, para isso vamos usar o comando LockImage() que irá receber como parâmetro a variável onde a imagem está armazenada.

Graphics(800, 600)
    minhaImagem = CreateImage(200, 100)
    pegarImagem = LockImage(minhaImagem)
EndGraphics

Carregando um arquivo de imagem[editar | editar código-fonte]

Além de poser criar uma imagem também podemos carregar um arquivo de formatos conhecidos como .bmp .jpg e .png. Para isso primeiramente vamos usar a função LoadImage() que irá entrar como atributo o nome da imagem, caso ela esteja na mesma pasta do arquivo .bmx.

Graphics(800, 600)
    minhaImagem = LoadImage("minha imagem.bmp")
EndGraphics

Caso queira colocar o endereço do arquivo de outra pasta que não ao do seu projeto coloque normalmente o endereço no atributo.

Graphics(800, 600)
    minhaImagem = LoadImage("C:\Documents and Settings\Administrador\Meus documentos\minha imagem.bmp")
EndGraphics

Após isso vamos colocar a imagem para ser exibida usando a função DrawImage() entrando como parâmetros o objeto imagem, o pixel X e o pixel Y de onde a imagem será desenhada.

Graphics(800, 600)
    minhaImagem = LoadImage("minha imagem.bmp")
    DrawImage(minhaImagem, 20, 30)
    Flip()
    WaitKey()
EndGraphics