transform - Перетворення зображень

Функції для обертання та масштабування зображень.

Приклад:

local image = resource.load_image("face.bmp", display.color565(0, 0, 0))
local transform = transforms.new()
transform = transform:scale(1.5, 0.5)
transform = transform:rotate(45)
display.draw_image(image, 50, 80, transform) -- малює зображення в точці (50, 80) з перетвореннями
class transforms
static new()

Створити нове афінне перетворення.

Return type:

Transform

class Transform
scale(x, y)

Масштабувати перетворення по обох осях та повернути нове перетворення.

Parameters:
  • x (number) – масштаб по осі X

  • y (number) – масштаб по осі Y

Return type:

Transform

rotate(angle)

Обернути перетворення на певний кут та повернути нове перетворення.

Parameters:

angle (number) – кут повороту (в градусах)

Return type:

Transform

multiply(other)

Помножити перетворення на інше перетворення та повернути результат, не змінюючи поточне перетворення.

Parameters:

other (Transform) – інше перетворення

Return type:

Transform

inverse()

Отримати перетворення, яке є оберненим до поточного.

Return type:

Transform

vtransform(x, y)

Застосувати перетворення до точки та повернути нові координати.

Parameters:
  • x (number) – координата X

  • y (number) – координата Y

Return type:

number or number

Usage:

1local transform = transforms.new():scale(2, 2):rotate(45)
2local x, y = transform:transform(10, 10)
3print(x, y)
get()

Отримати матрицю перетворення.

Returns:

двовимірна таблиця 2x2

Return type:

table

set(matrix)

Встановити матрицю перетворення.

Попередження

Ми не радимо вам використовувати цей метод, якщо ви не знаєте, що робите. Краще використовуйте методи scale та rotate.

Parameters:

matrix (table) – двовимірна таблиця 2x2

Usage:

1local transform = transforms.new()
2transform:set({{1, 0}, {0, 1}})