
Hola a todos. Hoy les traigo como programar una aplicacion sencilla y creada por mi, llamada Py-nt (derivado de paint, pero mas trucho jaja). Esta hecha en Python y Pygame. Primero que todo, en este post no busco ser avanzado, este es un aporte educativo para toda la comunidad programadora que se inicia recientemente.
Este es un programa en donde se puede dibujar a mano alzada, manteniendo el click primario, la figura que se desee y tiene la posibilidad de borrar el contenido con el click secundario.

Otra de las funciones que tiene la aplicacion es, mediante la tecla "s", tomar todos los vectores que se dibujaron en esa superficie y guardarlos en una imagen.JPG (guardar el dibujo en jpg en el directorio "C: )
Sin mas preambulos, aca esta el algoritmo ....
[color=#000000]
import pygame,sys
from pygame.locals import *
pygame.init()
[/color]
Se importan los modulos principales.
Se especifica importar toda la libreria de pygame.
Se inicializa pygame
[color=#000000]pan = pygame.display.set_mode((600,600))
pygame.display.set_caption(( "py-nt 1.0 - by chuia" ))
pan.fill((255,255,255))
[/color]
Se crea una nueva pantalla llamada "pan"
Le configuramos un nombre al titulo de la ventana de pygame
Pintamos enteramente la pantalla "pan" con color blanco con valores RGB
[color=#000000]while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
pygame.quit()
elif pygame.key.get_pressed()[K_s]: #si se presiona la tecla s entonces
pygame.image.save(pan,'foto.jpg') #permite guardar vectores en JPG
print "imagen guardada"
if pygame.mouse.get_pressed() == (1,0,0): #si se hace click derecho entonces
x,y = pygame.mouse.get_pos() #esta funcion indica donde esta la flecha mouse
print "dibujar en ", x,y #imprimo dibujar donde se encuentra la flecha ahora
pygame.draw.rect(pan,(0,0,0),(x,y,20,20),0) #dibujo un rectangulo negro
elif pygame.mouse.get_pressed() == (0,0,1): #si se hace click derecho entonces
x,y = pygame.mouse.get_pos() #esta funcion indica donde esta la flecha mouse
print "dibujar en ", x,y #imprimo dibujar donde se encuentra la flecha ahora
pygame.draw.rect(pan,(255,255,255),(x,y,20,20),0) #dibujo un rectangulo blanco
pygame.display.update()[/color]
Nuestro bucle principal con los eventos y consecuencias de los mismos
En resumen, el codigo entero, seria...
[color=#000000]import pygame,sys
from pygame.locals import *
pygame.init()
pan = pygame.display.set_mode((600,600))
pygame.display.set_caption((" py-nt 1.0 - by chuia" ))
pan.fill((255,255,255))
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
pygame.quit()
elif pygame.key.get_pressed()[K_s]:
pygame.image.save(pan,'C:foto.jpg')
print "imagen guardada"
if pygame.mouse.get_pressed() == (1,0,0):
x,y = pygame.mouse.get_pos()
print "punto en ", x,y
pygame.draw.rect(pan,(0,0,0),(x,y,10,10),0)
elif pygame.mouse.get_pressed() == (0,0,1):
x,y = pygame.mouse.get_pos()
print "dibujar en ", x,y
pygame.draw.rect(pan,(255,255,255),(x,y,20,20),0)
pygame.display.update()
[/color]
Bueno, como ya saben, taringa no es el mejor sitio para postear codigo, ya que no respeta las tabulaciones, que en python son necesarias para que el codigo sea interpretado de manera correcta. Es por eso que adjunto...
El archivo fuente PY
y un compilado ejecutable de windows EXE
Saludos!


