Visual – Image – PhotoImage – PIL – Python Imaging Library – Python – Linux

Publicado: 11 de abril de 2014 em Python

PhotoImage

Você pode usar a classe PhotoImage sempre que você precisar exibir um ícone ou uma imagem em um aplicativo Tkinter. A classe PhotoImage é usada para exibir imagens (ou em tons de cinza ou imagens de cor real) em etiquetas, botões, telas e widgets de texto. Se você precisa trabalhar com outros formatos de arquivo, o Python Imaging Library (PIL) contém classes que permite carregar imagens em mais de 30 formatos e convertê-los em objetos de imagem compatíveis com Tkinter.

O PhotoImage  também pode ler arquivos GIF base64-codificado em Strings. Você pode usar isso para incorporar imagens no código fonte Python.

pil

PhotoImage – PIL

 

Como Instalar o PIL – Ubuntu 64

Para Instalar o Python Imaging Library (PIL) digite os seguintes comandos no terminal do Linux:


sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

sudo apt-get install python-pip

sudo pip install PIL

sudo apt-get install python-imaging-tk

Exemplo:

Neste exemplo carregamos uma imagem cujo sua fonte é uma Url da internet e  a exibimos em um componente de imagem.

Python

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# PhotoImage.py

# importa modulo

from Tkinter import *
from PIL import Image, ImageTk

# importa url e IO
import urllib2 as urllib
import cStringIO

# Cria formulario
formulario = Tk()
formulario.title = "Desenvolvimento Aberto"

# Cria componentes
rotulo = Label(formulario, text = "Imagem - Python Imaging Library")

# Cria Url
url = urllib.urlopen("https://desenvolvimentoaberto.files.wordpress.com/2014/04/images.jpg")

# Lê imagem da url
figura = cStringIO.StringIO(url.read())

# carrega a imagem
imagem = Image.open(figura)

# joga a imagem para o componente
foto = ImageTk.PhotoImage(imagem)

# Exibi a imagem
pic = Label(formulario, image = foto)

# Posiciona componentes
rotulo.pack(padx=20)
pic.pack(padx=20, pady=10)

# Loop do tcl
mainloop()
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s