2012-05-21 8 views
1

Скриншот: http://imgur.com/kNASpПоказано большое изображение в ImmediateLayer

EDIT - В попытке продемонстрировать этот вопрос лучше, кажется, что большое изображение в Immediate слое быть обрезано до размера ImmediateLayer.

В образце образца есть два ImmediateLayers. Размер левой руки отображает изображение, которое больше размера ImmediateLayer, и появляется при обрезании при повороте или. С правой стороны изображение с низким разрешением изображения масштабируется и отображается в том же положении. Отстегнул.

В фоновом режиме показана оригинальная версия изображения, показывающая, что она полностью загружена и только обрезана, когда отображается в ImmediateLayer.

Итак, не проблема вращения, но вопрос о том, может ли изображение отображаться и транслироваться в ImmediateLayer без обрезания?

ORIGINAL -

В PlayN, я пытаюсь повернуть изображение при визуализации с подрезанными ImmediateLayer. Я могу повернуть изображение, установив поворот поверхности во время рендеринга, но это заставляет обрезать изображение, а затем поворачивать. Таким образом, изображение звезды будет иметь свои точки, обрезанные до его поворота на место.

Правильно ли этот код вращения и отсечение ошибки?

surface.save(); 

surface.rotate(rotation); 

surface.drawImage(star, 0, 0); 
surface.restore(); 

Бит фона, причина для использования в ImmediateLayer должен иметь 2 игрока вид разделенного экрана, бок о бок.

ответ

0

@samskivert - запуск вашего примера кода и сравнение его с вашим снимком экрана. Я заметил, что у меня были совершенно разные результаты - у меня вообще не было обрезания.

Перемещение зависимости моего проекта от 1,2 до 1,3.1 и, следовательно, LWJGL решен вопрос:

http://imgur.com/hqile

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

1

EDIT:

Вы явно делаете что-то неправильно. Я добавил пример рисования изображения через трансляцию и трансляцию в обрезанный ImmediateLayer, и он отлично работает. Проверьте this example и, надеюсь, он будет освещать то, что вы делаете неправильно.

Example of rotated and translated image drawing into clipped layer

ORIGINAL:

Можете ли вы опубликовать скриншот, демонстрирующий ошибку?

Никакой отсечения не происходит, кроме границ ImmediateLayer, который определяет область отсечения (и вы должны обязательно не вращать сам ImmediateLayer).

Не имеет значения, поворачиваете ли вы преобразование поверхности, а затем рисуете свое изображение. Если части повернутого изображения выходят за пределы ImmediateLayer, эти части будут обрезаны. Но все, что находится внутри границ ближайшего слоя, будет нарисовано как обычно.

+0

Оригинальный вопрос обновлен, чтобы включить скриншот и дополнительные разъяснения. – AiTuDou