Sitemap

Arte ASCII com Python !

6 min readNov 22, 2019

--

Arte ASCII do logo do Python, feita com Python!

A Arte ASCII é o processo de criação de imagens utilizando apenas caracteres de texto, conforme especificados no Código Padrão Americano para Intercâmbio de Informações. Essa Arte de Palavras além de ser um passa-tempo viciante, também possui uma história super interessante!

O Começo de tudo…

Nos primórdios da computação, cada computador utilizava um preceito diferente para retratar os caracteres alfanuméricos. Dessa forma, Robert William Bemer, cientista da computação norte-americano, propôs a partir de 1960 um código de padronização entre as máquinas. Assim, a norma ASCII foi criada e deriva do inglês American Standard Code for Information Interchange, totalizando 128 caracteres para realizar a comunicação eletrônica.

No entanto, o ASCII também é conhecido como a “Arte do Texto” e antes dos computadores, já era praticado desde a Grécia Antiga, fenômeno denominado de “Poesia Concreta”.

A imagem abaixo refere-se ao poema “Asas da Páscoa” de George Herbert, publicado em 1963 em sua coleção póstuma The Temple. Um ótimo exemplo do interesse renascentista pela poesia grega antiga, em que a forma do texto assemelha o sentido do poema.

Asas de Páscoa de George Herbert de 1633 https://en.wikipedia.org/wiki/Easter_Wings#/media/File:Easter_Wings_1633.jpg

A Ascensão da Web

Com o advento da Internet e da banda larga, os usuários deixaram de se comunicar por meio de uma BIOS, sistema no qual favorecia a produção de ASCII artes. Com isso, deu-se início ao declínio da geração de “Poesias de Formas” em computadores pessoais.

Entretanto, não só ainda é possível encontrar esse estilo artístico, como também é possível reproduzi-lo. Graças a biblioteca “ ascii ” disponível no Python, podemos gerar nossas artes customizadas a partir de imagens pré existentes!

“Cada criança é um artista” — Pablo Picasso

Então vamos começar a brincar! Para produzirmos as nossas obras de arte, iremos utilizar o Repl.it. Embora, possamos usar o Python em qualquer sistema operacional, por questões de praticidade e funcionalidade optaremos por essa IDE online.

1. Passo: Login no Repl.it

Para aproveitarmos os recursos da IDE, devemos criar uma conta. Para isso, abra um navegador de internet de sua preferência, no caso usarei o Google Chrome.

Em seguida, vá ao site do Repl na seção de Sign Up e registre-se gratuitamente.

Press enter or click to view image in full size
Tela de Sign Up do Repl.it

Nesta tela, caso você já tenha uma conta, também estará disponível as opções de Login por meio do Gmail, Git Hub ou Facebook. Para efetuar sua inscrição, basta criar um nome de usuário, uma senha e passar seu endereço de e-mail.

Click no botão “sign up” e Parabéns! Você será redirecionado(a) para página inicial e está pronto(a) para começar.

2. Passo: Criando o projeto

Após ter logado, você verá um botão escrito “new repl” no canto superior direito da tela. Click nele para criar um novo projeto.

Press enter or click to view image in full size
Criar um novo projeto

Será questionado em qual linguagem gostaríamos de programar, selecione Python ❤ . Em seguida, nomeie o projeto a seu gosto. Por exemplo, irei nomear o meu como ARTE ASCII, depois click em Create repl

Configurações do projeto

3. Passo: Criando imagens

Finalmente dentro do nosso projeto, note que no canto direito da tela o console está rodando Linux! Por isso, no começo deste tutorial optei pelo Repl.it, devido ao fato do Windows e do macOS não colorirem os caracteres. E isso, será essencial para o resultado final que desejamos alcançar!

Press enter or click to view image in full size
Justificativa do uso de IDE online

Estamos quase lá…

O passo a passo desse programinha é bem simples de fazer e o explicarei a seguir. Acredite ou não, seremos artistas profissionais com apenas 4 LINHAS DE CÓDIGO!

Mãos à obra!

Escreva o código abaixo no editor de texto:

Código para pegar a URL de uma imagem e transformá-la em caracteres alafanuméricos
  • # 1- Importamos a biblioteca ascii para podermos utiliza-la. Note que não precisaremos instala-la, pois a IDE fará esse trabalho por nós.
  • # 2- Criamos uma variável que irá receber o caminho da nossa imagem e a nomeamos de “url” ( Um termo técnico que vem do inlgês Uniform Resource Locator, que significa “O endereço de rede no qual se encontra algum recurso informático”), apenas por simplicidade.
  • # 3- Declaramos outra variável chamada “output” (quer dizer “Saída” em inglês) que armazenará e produzirá nossa imagem por meio do método “loadFromUrl” do módulo ascii. Esse método, é responsável por pegar uma imagem na internet via sua URL e transformá-la em um conjunto de caracteres.
  • # 4- E por fim, mandamos o Python mostrar na tela do console a nossa obra-prima, executando o método “Print” que tem como parâmetro a variável output.

E…Voilà!

Agora, se dermos um click no botão “Run” centralizado ao topo da página, o script será executado e as dependências serão baixadas. Isso pode variar de acordo com a sua conexão de Internet, geralmente é um processo bem rápido.

Get UraPython Community’s stories in your inbox

Join Medium for free to get updates from this writer.

E como resultado, temos a belíssima Arte ASCII do logo do Python!

Press enter or click to view image in full size
Execução do script ARTE ASCII

Divirta-se!!!

A partir deste momento, você tem em mãos tudo o que precisa para torna-se um artista de renome e expor suas obras no Museu do Louvre!

Com o cógido pronto, você pode alterar o valor da variável “url” para o caminho de outras imagens. Por exemplo, faça uma busca no Google por alguma gravura bem legal e colorida.

No meu caso, irei pesquisar por Rick and Morty, que é a MELHOR série de Tv deste século! Quando achar uma figura que te agrade, click sobre ela com o botão direito do mouse. Em seguida, aparecerá um menu suspenso com várias opções e escolha Copiar endereço da imagem

Press enter or click to view image in full size
Pesquisa Google sobre Rick and Morty

Após isso, retorne ao editor e cole o caminho da imagem dentro da variável “url”. Lembre-se de abrir e fechar aspas ( ‘ caminho da imagem ’ ), do contrário não irá funcionar, pois o método “loadFromUrl” espera receber um texto e é dessa forma que o Python os define.

Feita a alteração, basta clicar em Run novamente para ver os caracteres criados:

Morty em arte ASCII a partir do módulo ascii

Muito legal né!? Fala sério!!!

E esse processo pode ser repetido com qualquer imagem e infinitas vezes!

Press enter or click to view image in full size

That’s all Folks!

Então Pythonistas, por hoje é só. Espero que tenham gostado e nos reencontramos semana que vem!

Só mais uma, esta aqui é especial ❤

Press enter or click to view image in full size
Fundadores da UraPython com a diretora da Python Software Foundation
Da esquerda para direita: Douglas Arantes, Artur Arantes, Carol Willing, Felipe Godoi e Gabriel Bonizario (Fotógrafo: Leandro Cruvinel)

--

--

UraPython Community
UraPython Community