The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich.

Overview

PKCoreTechniques

======= Core Techniques is the result of a presentation I held at the Technical University of Munich during the 'iOS Game Design Seminar 2012'. It serves as a hands-on introduction to the fundamental concepts of CoreGraphics and CoreAnimation on the iOS and OS X platforms.

Structure

======= The projects structure is fairly straight-forward and there's two possible points of entry. You can either take a look at the CoreGraphics+AnimationForSuperheroes.pdf document and check out a brief introduction into the main concepts of CoreGraphics and CoreAnimation or you can jump right into the code by opening the 'CoreGraphicsSeminar.xcworkspace' in the 'src' folder. There's two projects in the workspace, that you're very welcome to both improve and learn from.

CoreTechniques

=======

Core Techniques is a collection of various examples on how the most common techniques are implemented and used. Those include:

  • Color Fill
  • Gradient Fill (Linear and Radial)
  • Simple Paths
  • Bezier Curves
  • Clipping (Standard and Even-Odd)
  • Creating custom-drawn Buttons
  • Simple Translations
  • Translations with Hit-Test Triggers
  • A very primitive 'CoverFlow' with 3D Transformations in CoreAnimation.

CoreBirdy

======= CoreBirdy was primarily made to test the performance of slightly more complex drawing on the iOS devices and the results were fairly interesting. While in fact the drawing performance in Quartz is slower than using an image in this case, it's still very good (and resolution independent!). (Note: The Bezier curves are of fairly high degree! >20).

Please note that CoreBirdy is intended as a proof-of-concept and should be regarded as such.

License

Copyright (c) 2011, Philip Kluz ([email protected]) All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contact

If for whatever reason you feel the need to get in touch with me, feel free to message me at: [email protected] or follow me on Twitter.

You might also like...
🌈 Highly customizable Core Graphics based gradient view for iOS
🌈 Highly customizable Core Graphics based gradient view for iOS

MKGradientView Highly customizable Core Graphics based gradient view Features Available gradient types: Linear (Axial) Radial (Circular) Conical (Angu

GraphLayout - iOS UI controls to visualize graphs. Powered by Graphviz
GraphLayout - iOS UI controls to visualize graphs. Powered by Graphviz

GraphLayout GraphLayout - UI controls for graph visualization. It is powered by Graphviz. Graph visualization is a way of representing structural info

🎞 Powerful gradient animations made simple for iOS.
🎞 Powerful gradient animations made simple for iOS.

AnimatedGradientView is a UIView subclass which makes it simple to add animated gradients to your iOS app. It is written purely in Swift. Further docu

The application is develop in Objective IOS. kids can draw whatever they want and also kids can save the drawing as well as undo erase the drawing.
The application is develop in Objective IOS. kids can draw whatever they want and also kids can save the drawing as well as undo erase the drawing.

IOSObjC_KidsBoard The application is develop in Objective IOS. kids can draw whatever they want and also kids can save the drawing as well as undo era

Create Live Graphics in SwiftUI (iOS, tvOS & macOS)

PixelUI import SwiftUI import PixelUI struct ContentView: View { var body: some View { GeometryReader { geo in

A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.
A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.

Overview Description Requirements Installation Usage Author License Description XMLParser lets you convert a pure Swift dictionary into XML string and

πŸ“° Consistent & accessible visual styling on iOS with support for Dynamic Type.
πŸ“° Consistent & accessible visual styling on iOS with support for Dynamic Type.

TypographyKit makes it easy to define typography styles and colour palettes in your iOS app helping you achieve visual consistency in your design as w

Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.
Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.

Tum Campus App - An Unofficial Guide Through University Life The TUM Campus App (TCA) is an open source project, developed by volunteers and available

Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.
Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.

Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.

Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation)

SVGKit SVGKit is a Cocoa framework for rendering SVG files natively: it's fast and powerful. Some additional info and links are on the wiki Versions:

Light-weight, operator-overloading-free complements to CoreGraphics!

Graphicz 🎨 Light-weight, operator-overloading-free complements to CoreGraphics! Even though I shipped it with my app, I still need to invest the time

An Objective-C wrapper for CoreGraphics CGContext

MPWDrawingContext, version 0.3 An Objective-C wrapper around the CoreGraphics CGContextRef. It includes the MPWDrawingContext protocol and the MPWCGDr

A Swift library for parsing and drawing SVG images to CoreGraphics contexts.

SwiftDraw A Swift library for parsing and drawing SVG images to CoreGraphics contexts. SwiftDraw can also convert an SVG into Swift source code. Usage

Code and documentation for my talk Anime-fy Yourself Using Core ML
Code and documentation for my talk Anime-fy Yourself Using Core ML

Anime-fy Yourself Code and documentation for my talk Anime-fy Yourself Using Core ML Convert from PyTorch to Core ML To convert @bryandlee's PyTorch i

SwiftUI sample code for Apple's WWDC18 talk
SwiftUI sample code for Apple's WWDC18 talk "Designing Fluid Interfaces".

Fluid Interfaces SwiftUI SwiftUI sample code for Apple's WWDC18 talk "Designing Fluid Interfaces". What is Fluid Interfaces? Fluid Interfaces is a new

Underdog Devs Technical Interview Prep

Underdog Devs Technical Interview Prep The purpose of this repo is to provide a structured approach to preparing for entry-level software developer in

Trade Me Technical Test
Trade Me Technical Test

TradeMeTechnicalTest Chris Samuels This repository contains a Xcode project. It is for submission to Trade Me Mobile Technical Test. The Application i

Ta4swift - Technical analisy for swift

ta4swift Technical analisy for swift. A swift package following ta4j to enable b

MyFirstIOSApp - Coding my first IOS app. Following Stanford University's course CS193p (Developing Applications for IOS using SwiftUI)

MyFirstIOSApp πŸ“± πŸ‘¨β€πŸ’» Coding my first IOS app πŸ“– Following Stanford University'

Owner
Philip Kluz
Philip Kluz
Light-weight, operator-overloading-free complements to CoreGraphics!

Graphicz ?? Light-weight, operator-overloading-free complements to CoreGraphics! Even though I shipped it with my app, I still need to invest the time

Kitz 44 Oct 25, 2021
An Objective-C wrapper for CoreGraphics CGContext

MPWDrawingContext, version 0.3 An Objective-C wrapper around the CoreGraphics CGContextRef. It includes the MPWDrawingContext protocol and the MPWCGDr

Marcel Weiher 100 Jun 24, 2021
Design shapes in Interface Builder

EPShapes Create shapes(Polygons, Stars, Hearts, Arrows) in Interface builder using IBInspectable and IBDesignable Features Design shapes in interface

Praba 390 Dec 27, 2022
A simple game application for iPad using SpriteKit, SKCropNode

Whack-a-Penguin A simple game application for iPad using SpriteKit, SKCropNode,

NIKOLAY NIKITIN 1 Sep 12, 2022
Create gradients and blur gradients without a single line of code

EZYGradientView is a different and unique take on creating gradients and gradients with blur on the iOS platform. The default CAGradientLayer implemen

Shashank Pali 380 Dec 6, 2022
Drawing and Geometry made easy on iOS - now in Swift 3.0

InkKit Swift Support Swift 4.0 InkKit is Swift 4.0 by default, so to use that just include InkKit in your podfile: pod 'InkKit' Swift 3.2 In order to

Shaps 373 Dec 27, 2022
iOS utility classes for asynchronous rendering and display.

YYAsyncLayer iOS utility classes for asynchronous rendering and display. (It was used by YYText) Simple Usage @interface YYLabel : UIView @property NS

null 672 Dec 27, 2022
An iOS framework for easily adding drawings and text to images.

jot is an easy way to add touch-controlled drawings and text to images in your iOS app. What's jot for? Annotating Images jot is the easiest way to ad

IFTTT 1.8k Oct 28, 2022
Visual designing library for iOS & OSX

ProcessingKit ProcessingKit is a Visual designing library for iOS & OSX. ProcessingKit written in Swift ?? and you can write like processing. Demo Dem

Atsuya Sato 333 Nov 12, 2022
Conical (angular) gradient for iOS written in Swift

AEConicalGradient Conical (angular) gradient in Swift I hope that somebody will find this useful. And nice. Usage AEConicalGradient is a minion which

Marko Tadić 82 Dec 27, 2022