2014-02-19 3 views
2

Что я делаю, это создать SKTexture на основе полного изображенияПопытка использовать только часть с SKTexture использованием textureWithRect inTexture

SKTexture *fullTexture = [SKTexture textureWithImageNamed:@"fullImage"]; 

Я хочу использовать всю ширину fullTexture, но только часть высоты текстуры, НО, начиная с TOP полного изображения.

После выяснить, что ширина, кажется, в процентах, я использовал следующий код:

SKTexture *croppedTexture = [SKTexture textureWithRect: CGRectMake(0,0,1,percentageY) 

кто-нибудь может дать мне правильные значения с плавающей точкой для CGRectMake в УРОЖАЙ, начиная с верхнего левого угла, с полным witdt и только часть (фиксированное число точек/пикселей) от Y?

ИЛИ другой способ достичь того, что я пытаюсь сделать?

Благодаря

Обновленный вопрос с видимым примером того, что мне нужно:

enter image description here

+0

Вы не указали, какие проблемы вы испытываете –

+0

я m не испытывает проблемы, я просто не знаю точных значений, которые нужно использовать для достижения того, что я хочу. Вы можете видеть это как проблему, которая: обрезка изображения начинается с нижней части изображения и разрезает часть верхней части изображения, но я хочу начать резку с TOP, но я не знаю, как это сделать. – stvn

ответ

1

Try CGRectMake(0,1-percentageY,1,percentageY) вместо CGRectMake(0,0,1,percentageY)

+0

попытался сыграть со своими значениями, но этот не дал мне правильный результат. Это, похоже, не дает мне никакого изображения. – stvn

+0

Y-часть CGRectMake, похоже, работает только вверх. Изменение моего процентаY на -percentageY дает мне исключение tho: «NSInvalidArgumentException», причина: «Недопустимый размер: {56.5, -695.99998557567596}« Мне жаль, что все было так просто. – stvn

+0

Проверьте мой обновленный ответ :). Кроме того, вы уверены, что 'percentY' находится между 0 и 1? Как вы его вычисляете? –