本文整理汇总了C#中CGSize类的典型用法代码示例。如果您正苦于以下问题:C# CGSize类的具体用法?C# CGSize怎么用?C# CGSize使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CGSize类属于命名空间,在下文中一共展示了CGSize类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HIPImageCropperView
public HIPImageCropperView(CGRect frame, CGSize cropSize, CropperViewPosition position, CropHoleType cropHoleType = CropHoleType.Square)
: base(frame)
{
_maskPosition = position;
_cropHoleType = cropHoleType;
_cropSize = cropSize;
this.BackgroundColor = UIColor.Black;
this.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
this.ClipsToBounds = true;
ScrollView = new UIScrollView();
ImageView = new UIImageView();
OverlayView = new UIView()
{
UserInteractionEnabled = false,
BackgroundColor = UIColor.Black.ColorWithAlpha(0.6f),
AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
};
LoadIndicator = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.White)
{
HidesWhenStopped = true,
AutoresizingMask = UIViewAutoresizing.FlexibleLeftMargin |
UIViewAutoresizing.FlexibleRightMargin |
UIViewAutoresizing.FlexibleBottomMargin |
UIViewAutoresizing.FlexibleTopMargin
};
}
示例2: CreateFrameBuffer
protected override void CreateFrameBuffer ()
{
nfloat screenScale = UIScreen.MainScreen.Scale;
CAEAGLLayer eaglLayer = (CAEAGLLayer) Layer;
CGSize size = new CGSize (
(int) Math.Round (screenScale * eaglLayer.Bounds.Size.Width),
(int) Math.Round (screenScale * eaglLayer.Bounds.Size.Height));
try {
ContextRenderingApi = EAGLRenderingAPI.OpenGLES3;
base.CreateFrameBuffer ();
int depthRenderbuffer;
GL.GenRenderbuffers (1, out depthRenderbuffer);
GL.BindRenderbuffer (RenderbufferTarget.Renderbuffer, depthRenderbuffer);
GL.RenderbufferStorage (RenderbufferTarget.Renderbuffer, RenderbufferInternalFormat.DepthComponent16, (int)size.Width, (int)size.Height);
GL.FramebufferRenderbuffer (FramebufferTarget.Framebuffer, FramebufferSlot.DepthAttachment, RenderbufferTarget.Renderbuffer, depthRenderbuffer);
Console.WriteLine ("using ES 3.0");
Console.WriteLine ("version: {0} glsl version: {1}", GL.GetString (StringName.Version), GL.GetString (StringName.ShadingLanguageVersion));
} catch (Exception e) {
throw new Exception ("Looks like OpenGL ES 3.0 not available", e);
}
cube.Initialize ();
cube.LoadTexture (LoadBitmapData);
SetupProjection ();
}
示例3: GetFontSize
private static void GetFontSize(UILabel label, CGSize size, int maxFontSize, int minFontSize)
{
label.Frame = new CGRect(CGPoint.Empty, size);
var fontSize = maxFontSize;
var constraintSize = new CGSize(label.Frame.Width, nfloat.MaxValue);
while (fontSize > minFontSize)
{
label.Font = UIFont.FromName(label.Font.Name, fontSize);
using (var nativeString = new NSString(label.Text))
{
var textRect = nativeString.GetBoundingRect(
constraintSize,
NSStringDrawingOptions.UsesFontLeading,
new UIStringAttributes { Font = label.Font},
null
);
if (textRect.Size.Height <= label.Frame.Height)
{
break;
}
}
fontSize -= 2;
}
}
示例4: ViewDidLoad
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// set the background color of the view to white
View.BackgroundColor = UIColor.White;
// instantiate a new image view that takes up the whole screen and add it to
// the view hierarchy
CGRect imageViewFrame = new CGRect (0, -NavigationController.NavigationBar.Frame.Height, View.Frame.Width, View.Frame.Height);
imageView = new UIImageView (imageViewFrame);
View.AddSubview (imageView);
// create our offscreen bitmap context
// size
CGSize bitmapSize = new CGSize (View.Frame.Size);
using (CGBitmapContext context = new CGBitmapContext (IntPtr.Zero,
(int)bitmapSize.Width, (int)bitmapSize.Height, 8,
(int)(4 * bitmapSize.Width), CGColorSpace.CreateDeviceRGB (),
CGImageAlphaInfo.PremultipliedFirst)) {
// declare vars
UIImage apressImage = UIImage.FromFile ("icon-114.png");
CGPoint imageOrigin = new CGPoint ((imageView.Frame.Width / 2) - (apressImage.CGImage.Width / 2), (imageView.Frame.Height / 2) - (apressImage.CGImage.Height / 2));
CGRect imageRect = new CGRect (imageOrigin.X, imageOrigin.Y, apressImage.CGImage.Width, apressImage.CGImage.Height);
// draw the image
context.DrawImage (imageRect, apressImage.CGImage);
// output the drawing to the view
imageView.Image = UIImage.FromImage (context.ToImage ());
}
}
示例5: SignatureController
public SignatureController ()
: base(new UINavigationController())
{
var navController = ContentViewController as UINavigationController;
navController.ViewControllers = new UIViewController[] { new ContentController(this) };
PopoverContentSize = new CGSize(665, 400);
}
示例6: ImageFromFont
public static UIImage ImageFromFont(string text, UIColor iconColor, CGSize iconSize, string fontName)
{
UIGraphics.BeginImageContextWithOptions(iconSize, false, 0);
var textRect = new CGRect(CGPoint.Empty, iconSize);
var path = UIBezierPath.FromRect(textRect);
UIColor.Clear.SetFill();
path.Fill();
var font = UIFont.FromName(fontName, iconSize.Width);
using (var label = new UILabel() { Text = text, Font = font })
{
GetFontSize(label, iconSize, 500, 5);
font = label.Font;
}
iconColor.SetFill();
using (var nativeString = new NSString(text))
{
nativeString.DrawString(textRect, new UIStringAttributes
{
Font = font,
ForegroundColor = iconColor,
BackgroundColor = UIColor.Clear,
ParagraphStyle = new NSMutableParagraphStyle
{
Alignment = UITextAlignment.Center
}
});
}
var image = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
image = image.ImageWithRenderingMode (UIImageRenderingMode.AlwaysOriginal);
return image;
}
示例7: ViewWillAppear
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
CGSize sz = Image.Size;
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
if (UIDevice.CurrentDevice.Orientation == UIDeviceOrientation.Portrait || UIDevice.CurrentDevice.Orientation == UIDeviceOrientation.PortraitUpsideDown) {
sz = new CGSize(UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Width * (sz.Height/sz.Width));
}
else {
sz = new CGSize((UIScreen.MainScreen.Bounds.Height-NavigationController.NavigationBar.Bounds.Height) * (sz.Width/sz.Height), UIScreen.MainScreen.Bounds.Height-NavigationController.NavigationBar.Bounds.Height);
}
}
else {
if (sz.Width > sz.Height) {
sz = new CGSize(PopoverSize.Height * (sz.Width/sz.Height), PopoverSize.Height);
}
else {
sz = new CGSize(PopoverSize.Width, PopoverSize.Width * (sz.Height/sz.Width));
}
}
imageView.Frame = new CGRect(0, 0, sz.Width, sz.Height);
imageView.Image = Image;
scrollView.ContentSize = sz;
scrollView.MinimumZoomScale = 0.25f;
scrollView.MaximumZoomScale = 5f;
scrollView.ViewForZoomingInScrollView += (UIScrollView sv) => {return imageView;};
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad) {
scrollView.ScrollRectToVisible(new CGRect(Image.Size.Width/2 - 300, Image.Size.Height/2 - 300, 600, 600), true);
}
}
示例8: ViewWillTransitionToSize
public void ViewWillTransitionToSize(CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
{
// This API sometime cannot return the correct value.
// Maybe this is the Xamarin or iOS bug
// https://bugzilla.xamarin.com/show_bug.cgi?id=37064
var menu = _basePage.SlideMenu;
double NavigationBarHeight = 0;
// this is used for rotation
double bigValue = UIScreen.MainScreen.Bounds.Height > UIScreen.MainScreen.Bounds.Width ? UIScreen.MainScreen.Bounds.Height : UIScreen.MainScreen.Bounds.Width;
double smallValue = UIScreen.MainScreen.Bounds.Height < UIScreen.MainScreen.Bounds.Width ? UIScreen.MainScreen.Bounds.Height : UIScreen.MainScreen.Bounds.Width;
if (toSize.Width < toSize.Height) {
ScreenSizeHelper.ScreenHeight = bigValue;
// this is used for mutiltasking
ScreenSizeHelper.ScreenWidth = toSize.Width < smallValue ? toSize.Width : smallValue;
NavigationBarHeight = bigValue - toSize.Height;
} else {
ScreenSizeHelper.ScreenHeight = smallValue;
ScreenSizeHelper.ScreenWidth = toSize.Width < bigValue ? toSize.Width : bigValue;
NavigationBarHeight = smallValue - toSize.Height;
}
if (_dragGesture == null)
return;
menu.PageBottomOffset = NavigationBarHeight;
_dragGesture.UpdateLayoutSize (menu);
var rect = _dragGesture.GetHidePosition ();
menu.Layout (new Xamarin.Forms.Rectangle (
rect.left,
rect.top,
(rect.right - rect.left),
(rect.bottom - rect.top)));
_dragGesture.LayoutHideStatus ();
}
示例9: GetSizeForChildContentContainer
public override CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CGSize parentContainerSize)
{
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone)
return parentContainerSize;
else
return new CGSize(parentContainerSize.Width / 3, parentContainerSize.Height);
}
示例10: RCTTargetSize
private static CGSize RCTTargetSize(CGSize sourceSize, nfloat sourceScale,
CGSize destSize, nfloat destScale,
RCTResizeMode resizeMode,
bool allowUpscaling)
{
switch (resizeMode)
{
case RCTResizeMode.ScaleToFill:
if (!allowUpscaling)
{
nfloat scale = sourceScale / destScale;
destSize.Width = (nfloat)Math.Min(sourceSize.Width * scale, destSize.Width);
destSize.Height = (nfloat)Math.Min(sourceSize.Height * scale, destSize.Height);
}
return RCTCeilSize(destSize, destScale);
default: {
// Get target size
CGSize size = RCTTargetRect(sourceSize, destSize, destScale, resizeMode).Size;
if (!allowUpscaling)
{
// return sourceSize if target size is larger
if (sourceSize.Width * sourceScale < size.Width * destScale)
{
return sourceSize;
}
}
return size;
}
}
}
示例11: InGameScene
public InGameScene (CGSize size) : base (size)
{
BackgroundColor = AppKit.NSColor.FromCalibratedRgba (0.15f, 0.15f, 0.3f, 1f);
timeLabel = LabelWithText ("Time", 24);
AddChild (timeLabel);
CGRect af = timeLabel.CalculateAccumulatedFrame ();
timeLabel.Position = new CGPoint (Frame.Size.Width - af.Size.Width, Frame.Size.Height - (af.Size.Height));
timeLabelValue = LabelWithText ("102:00", 20);
AddChild (timeLabelValue);
CGRect timeLabelValueSize = timeLabelValue.CalculateAccumulatedFrame ();
timeLabelValue.Position = new CGPoint (Frame.Size.Width - af.Size.Width - timeLabelValueSize.Size.Width - 10, Frame.Size.Height - af.Size.Height);
scoreLabel = LabelWithText ("Score", 24);
AddChild (scoreLabel);
af = scoreLabel.CalculateAccumulatedFrame ();
scoreLabel.Position = new CGPoint (af.Size.Width * 0.5f, Frame.Size.Height - af.Size.Height);
scoreLabelValue = LabelWithText ("0", 24);
AddChild (scoreLabelValue);
scoreLabelValue.Position = new CGPoint (af.Size.Width * 0.75f + (timeLabelValueSize.Size.Width), Frame.Size.Height - af.Size.Height);
// Add drop shadows to each label above.
timeLabelValueShadow = DropShadowOnLabel (timeLabelValue);
timeLabelShadow = DropShadowOnLabel (timeLabel);
scoreLabelShadow = DropShadowOnLabel (scoreLabel);
scoreLabelValueShadow = DropShadowOnLabel (scoreLabelValue);
}
示例12: CreatePieSegment
private UIImage CreatePieSegment(CGSize size, nfloat endAngle)
{
// Add the arc
var arc = new CGPath();
arc.MoveToPoint(size.Width / 2.0f, size.Height / 2.0f);
arc.AddLineToPoint(size.Width / 2.0f, 0);
arc.AddArc(size.Width / 2.0f, size.Height / 2.0f, size.Width / 2.0f, _startAngle, endAngle, false);
arc.AddLineToPoint(size.Width / 2.0f, size.Height / 2.0f);
// Stroke the arc
UIGraphics.BeginImageContextWithOptions(size, false, 0);
var context = UIGraphics.GetCurrentContext();
context.AddPath(arc);
context.SetFillColor(UIColor.FromRGBA(0f, 0f, 0f, 1f).CGColor);
context.FillPath();
// Get the mask image
var image = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
return image;
}
示例13: ViewDidLoad
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
ClearsSelectionOnViewWillAppear = false;
ContentSizeForViewInPopover = new CGSize (320, 600);
TableView.Source = new TableSource ();
}
示例14: NativeMeasureOverride
protected override CGSize NativeMeasureOverride(CGSize availableSize)
{
var size = base.NativeMeasureOverride(availableSize);
size.Height = MathF.Max(size.Height, DefaultSize + this.Margin.VerticalThicknessF());
size.Width = MathF.Max(size.Width, DefaultSize + this.Margin.HorizontalThicknessF());
return size;
}
示例15: DidFinishLaunching
public override void DidFinishLaunching(NSNotification notification)
{
// Start the progress indicator animation.
loadingProgressIndicator.StartAnimation (this);
gameLogo.Image = new NSImage (NSBundle.MainBundle.PathForResource ("logo", "png"));
archerButton.Image = new NSImage (NSBundle.MainBundle.PathForResource ("button_archer", "png"));
warriorButton.Image = new NSImage (NSBundle.MainBundle.PathForResource ("button_warrior", "png"));
// The size for the primary scene - 1024x768 is good for OS X and iOS.
var size = new CGSize (1024, 768);
// Load the shared assets of the scene before we initialize and load it.
scene = new AdventureScene (size);
scene.LoadSceneAssetsWithCompletionHandler (() => {
scene.Initialize ();
scene.ScaleMode = SKSceneScaleMode.AspectFill;
SKView.PresentScene (scene);
loadingProgressIndicator.StopAnimation (this);
loadingProgressIndicator.Hidden = true;
NSAnimationContext.CurrentContext.Duration = 2.0f;
((NSButton)archerButton.Animator).AlphaValue = 1.0f;
((NSButton)warriorButton.Animator).AlphaValue = 1.0f;
scene.ConfigureGameControllers();
});
SKView.ShowsFPS = true;
SKView.ShowsDrawCount = true;
SKView.ShowsNodeCount = true;
}