Book Image

iOS Development using MonoTouch Cookbook

By : Dimitris Tavlikos
Book Image

iOS Development using MonoTouch Cookbook

By: Dimitris Tavlikos

Overview of this book

<p>MonoTouch brings the amazing revenue opportunities of Apple’s billion dollar app store to C# and .NET developers. <br /><br />This cookbook leaves no stone unturned, providing you with practical recipes covering user interfaces, data management, multimedia , web services, and localization, right through to application deployment on the app store.<br /><br />Whatever the area of MonoTouch iOS development you need to know about, you will find a recipe for it in this cookbook. Minimum theory and maximum practical action defines this book. It is jam packed with recipes for interacting with the device hardware, like the GPS, compass and the accelerometer. Recipes for those all important real world issues such as designing the UI with the integrated designer introduced with Xcode 4. It is the essential cookbook for C# and .NET developers wanting to be part of the exciting and lucrative world of iOS development.</p>
Table of Contents (22 chapters)
iOS Development Using MonoTouch Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Creating an image context


In this recipe, we will expand the finger drawing application that we created previously by providing the user with the feature of saving the created drawings.

Getting ready

Create a new project in MonoDevelop, and name it ImageContextApp. Add the CanvasView class that we created in the previous task to the project.

How to do it...

  1. Add two buttons on the view of MainController. One will be used for saving the image and the other for clearing the current drawing.

  2. Add the following methods in the CanvasView class:

    public UIImage GetDrawingImage(){
      UIImage toReturn = null;
      UIGraphics.BeginImageContext(this.Bounds.Size);
      using (CGContext context = UIGraphics.GetCurrentContext()){
        context.SetStrokeColorWithColor(UIColor.Blue.CGColor);
        context.SetLineWidth(10f);
        context.SetLineJoin(CGLineJoin.Round);
        context.SetLineCap(CGLineCap.Round);
        context.AddPath(this.drawPath);
        context.DrawPath(CGPathDrawingMode.Stroke);
        toReturn = UIGraphics.GetImageFromCurrentImageContext...