Monotouch не связывает функции CGRect
, поэтому не уверен, как это сделать.
При использовании MonoTouch CGRect
отображается на RectangleF
. Существует множество методов расширения, которые должны отображаться на каждую функцию, предоставляемую GCRect
. У вас не должно возникнуть проблем с переносом кода ObjectiveC с их использованием.
Если чего-то не хватает, заполните отчет об ошибке @ http://bugzilla.xamarin.com, и мы исправим его как можно скорее (и по возможности предоставим обходной путь).
В ObjC есть рецепты, но MonoTouch
Если у вас есть ссылки, пожалуйста, отредактируйте ваш вопрос и добавьте их. Это поможет вам помочь:)
UPDATE
Ниже приведен построчный перевод C # вашего примера. Кажется, это работает для меня (и это намного проще для моих глаз, чем Objective-C; -)
UIImage ConvertToGrayScale (UIImage image)
{
RectangleF imageRect = new RectangleF (PointF.Empty, image.Size);
using (var colorSpace = CGColorSpace.CreateDeviceGray ())
using (var context = new CGBitmapContext (IntPtr.Zero, (int) imageRect.Width, (int) imageRect.Height, 8, 0, colorSpace, CGImageAlphaInfo.None)) {
context.DrawImage (imageRect, image.CGImage);
using (var imageRef = context.ToImage ())
return new UIImage (imageRef);
}
}