= Gravação de Arquivo de Imagens = Por: ''JoaoBueno'' Algumas vezes temos que manipular arquivos de dados binários. Em Python, estruturas de dados que requeiram o posicionamento de valores nos bytes corretos é feito com o módulo Struct. Já, o trabalho com grandes massas de dados, byte a byte, é feito com o módulo Array se for desejado usar só a biblioteca padrão (se forem necessárias muitas operações na massa de dados, pode ser vantagem usar o NumPy) Este é um exemplo bem direto da criação em memória de uma imagem, e sua gravação em disco como um arquivo do tipo .tga. Arquivos TGA são notoriamente simples de serem lidos e escritos por não empregarem nenhuma compressão de dados. Para trabalhos "de verdade" com imagens é melhor usar a PythonImagingLibrary - PIL, a biblioteca PyGame, ou outro dentre vários módulos disponíveis. O que está aqu foi só um exercício (pra mim) e estou colandoa qui or que pode ser um exemplo legal de uso do struct e do array. {{{ #!/usr/bin/env python # -*- coding: utf-8 -*- # Simple Binary data creation recipe: # creation of a plain TGA image file # with hardcoded size and contents; # Author: João S. O. Bueno # License: Creative Commons, Attribution Required. import struct, array SIZE = 400 ## begin tga header fields: ## structure seen at ## http://gpwiki.org/index.php/TGA, 2009-09-20 Offset = 0 ColorType = 0 ImageType = 2 PaletteStart = 0 PaletteLen = 0 PalBits = 8 XOrigin = 0 YOrigin = 0 Width = SIZE Height = SIZE BPP = 24 Orientation = 0 # Struct format string documentation at: # http://docs.python.org/library/struct.html # (c 'short' stays for 16 bit data) StructFmt = "