Различаются drawImage() на iPad и iPhone?
У меня есть glView, который 51x51px, как это.
...
glContext = EAGLContext(API: .OpenGLES2)
glView = GLKView()
glView.context = glContext
ciContext = CIContext(EAGLContext: glContext)
glView.layer.borderColor = UIColor.redColor().CGColor
glView.layer.borderWidth = 3
glView.translatesAutoresizingMaskIntoConstraints = false
widthConstraint = NSLayoutConstraint(item: glView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: 51)
loupeImageView.addConstraint(widthConstraint)
heightConstraint = NSLayoutConstraint(item: glView, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: 51)
loupeImageView.addConstraint(heightConstraint)
...
Позже я рисую центральную часть image
(получено от AVpreviewlayer) в EAGL-контекст glView следующим образом:
ciContext.drawImage(image, inRect: CGRectMake(0, 0, 50, 50),
fromRect: CGRect(x: (image.extent.width/2)-(50/2), y: (image.extent.height / 2)-(50/2), width: source, height: source))
glView.display()
В основном код работает, но один и тот же код ведет себя по-разному на iPad и iPhone5. Результаты показаны ниже. Прямоугольник с красной рамкой - это glView.
На iPhone черная часть (то есть изображение, которое я рисую) внутри красного прямоугольника должна полностью заполнить прямоугольник, такой как на iPad... а не только нижняя левая четверть.
Кто-нибудь знает, в чем здесь проблема?
С уважением Крис
я на iOS 9.2.1 на обоих устройствах