Módulo de pygame para transformar superficies.
Una transformación de superficie es una operación que mueve dimensiona los píxeles. Todos estas funciones toman una superficie sobre la que operan y devuelven una nueva superficie con los resultados.
Alguna de las transformaciones se consideran destructivas. Esto significa que cada vez que se realizan se pueden perder pixeles de datos. Los ejemplos comunes de esto son las operaciones de escalado y rotación. Por ese motivo, es mejor transformar nuevamente la imagen original que seguir transformando un imagen muchas veces; por ejemplo, imagine que está animando un resorte que salta, que se expande y contrae con el movimiento. Si aplica los cambios de tamaño incrementalmente a las imágenes anteriores perderá detalle; en lugar de eso siempre comience con la imagen original y cambie el tamaño de la misma al tamaño deseado.
Invierte la imagen de manera horizontal y vertical.
pygame.transform.flip(Surface, xbool, ybool): return Surface
Puede invertir la superficie ya sea de forma vertical, horizontal, o ambas. Invertir una superficies es una tarea no destructiva y retorna una nueva superficie con el mismo tamaño.
Altera el tamaño.
pygame.transform.scale(Surface, (width, height), DestSurface = None): return Surface
Redimensiona una superficie a un nuevo tamaño. Esta es una operación rápida que no suaviza los resultados.
Se puede usar una superficie destino opcional, en lugar de tener que
crear una nueva. Esto hace mas rápida la operación si tiene que cambiar
el tamaño de algo muchas veces. De todas formas, la superficie destino debe
tener el mismo tamaño que los parámetros width
y height
indicados. Además
las superficie destino debe tener el mismo formato.
Aplica rotación a una imagen.
pygame.transform.rotate(Surface, angle): return Surface
Aplica una rotación inversa al sentido de las agujas del reloj sin suavizar. El
argumento angle
se representa en grados y puede ser cualquier número real.
La magnitud negativa de angle
rotará la imagen en sentido a las agujas
del reloj.
A menos que las rotaciones se incrementen de a 90 grados, la imagen se rellenará para almacenarse en un nuevo tamaño. Si la imagen tiene pixels transparentes, el área de relleno será transparente. En otro caso pygame tomará un color que coincida con el valor clave de la imagen o el valor de la esquina superior izquierda.
Rotación y cambio de tamaño con filtro.
pygame.transform.rotozoom(Surface, angle, scale): return Surface
Es una transformación combinada de rotación y cambio de tamaño. La superficie
resultado será una superficie suavizada de 32 bits. El argumento scale
es
un número real que será multiplicado por la resolución actual. El argumento
angle
es un numero real que representa la rotación contra las agujas
del reloj mediada en grados. Un ángulo de rotación negativo girará la superficie
en sentido a las agujas del reloj.
Duplica el tamaño de la imagen de manera especial.
pygame.transform.scale2x(Surface, DestSurface = None): Surface
Retorna una nueva imagen que será del doble de tamaño que la original. Utiliza el algoritmo AdvanceMAME Scale2X que produce escalado de gráficos evitando el dentado o los cuadrados grandes.
Se puede usar una superficie destino opcional, en lugar de tener que
crear una nueva. Esto hace mas rápida la operación si tiene que cambiar
el tamaño de algo muchas veces. De todas formas, la superficie destino debe
tener el mismo tamaño que los parámetros width
y height
indicados. Además
las superficie destino debe tener el mismo formato.
Cambia el tamaño de una superficie con suavidad y de forma arbitraria.
pygame.transform.smoothscale(Surface, (width, height), DestSurface = None): return Surface
Usa uno de dos algoritmos diferentes para alterar cada una de las dimensiones de la superficie. Al reducir la imagen, los pixeles destinos serán promedio de los pixeles originales que representan. Al aumentar la imagen, se utilizará un filtro bilineal. En las arquitecturas amd64 y i686, se incluyen las rutinas MMX optimizadas que funcionarán mucho mas rápido que en otro tipo de equipos.
El tamaño es una secuencia de dos números que representa (width
,
height
). Esta función solo opera con superficies de 24 o 32
bits. Se lanzará una excepción si la profundidad de color de la
superficie original es menor a 24 bits.
New in pygame 1.8
Esta función es nueva en pygame 1.8.
Obtiene una copia de una imagen con un área interior eliminada.
pygame.transform.chop(Surface, rect): return Surface
Extrae una porción de una imagen. Todos los pixels dentro del rectángulo dado se eliminarán. Las áreas diagonales (diagonales al rectángulo) se juntarán. La imagen original no se alterará por esta operación.
Note: Si usted quiere cortar, esta función retorna la parte de la imagen sin el área del rectángulo; en su lugar puede imprimir con el rectángulo a una nueva superficie o copiar una subsurface.
Para ilustrar el ejemplo, imagine que define un rectángulo como se muestra
en la siguiente imágen. La función chop
eliminará tanto el rectángulo como
la zona roja, creando una nueva superficie con los restos unidos.
Busca los bordes en una superficie.
pygame.transform.laplacian(Surface, DestSurface = None): return Surface
Busca los bordes en una superficie usando el algoritmo laplacian.
Esta función es nueva en pygame 1.8.
Busca la superficie mas similar a partir de muchas otras.
pygame.transform.average_surfaces(Surfaces, DestSurface = None): return Surface
Toma una secuencia de superficies y retorna la superficie con los colores mas parecidos a una dada.
Esta función es nueva en pygame 1.8.
Encuentra cuales y cuantos pixels en una superficie están dentro del umbral de un color.
pygame.transform.threshold(DestSurface, Surface, color, threshold = (0,0,0,0), diff_color = (0,0,0,0), change_return = True, Surface =None): return num_threshold_pixels
Puede definir la superficie destino donde todos los pixeles se cambian
a diff_color
cuando no están dentro del umbral threshold
.
O se puede usar solo para contar los números de pixeles dentro
del umbral si define change_return
a False
.
Cuando se define la tercera superficie, se usarán los colores de
ella en lugar del tercer argumento color
.
Puede definir un umbral, threshold
, como (r,g,b,a)
, donde r
,
g
, b
pueden ser diferentes umbrales. De forma que si quiere
puede usar un umbral r
de 40 y un umbral b
de 2.
Esta función es nueva en pygame 1.8.