PO2 Syndrome (Русский)

Синдром двойки (синдром степени двух) связан с проблемой старых графических карт и драйверов: они не могут отображать графические элементы, ширина и высота которых не являются степенью двух, как то: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, и т.д.

Есть несколько способов, которыми любители могут помочь их несчастным владельцам.

  1. Использовать только графические файлы со сторонами равными степеням двух. (Можно дополнять изображения до нужного размера при помощи прозрачных полей)
  2. Использовать объект ImageData, чтобы программно исправлять размеры сторон (смотри пример).

Оба решения имеют свои обратные стороны: ширина, высота и координаты центра такого изображения смещаются, что создаёт проблемы, особенно при вращении. В качестве решения, можно предложишь хранить «настоящие» высоту и ширину и использовать их вместо getWidth() и getHeight().

Готовое решение

И для пользователей и для любителей существует готовое решение (на текущий момент, только под Linux), основанное на методе №2. Смотри http://love2d.org/forums/viewtopic.php?f=5&t=1433&p=16922#p16922.

На текущий момент, оно не исправляет проблемы действительных размеров изображение, описанной выше.

RichText

Ещё одним решением, с ограниченной применимостью, является библиотека RichText, написанная Robin и поддерживаемая исключительно версией 0.7.0. Смотри подробное описание на GitHub.

Лекарство найдено

Начиная с версии 0.8.0, все изображения автоматически дополняются до нужных размеров, и это значит, что мы можем забыть об этом безумии и радоваться жизни.

Другие языки