logoImagina
iconCurso
Te recomendamos nuestro curso de iOS 16
Descubre el curso de iOS 16
Ir al curso

Algoritmo de Pintado de iOS en iCuadernos by Rubio

iconImage
Escrito por Equipo de Imagina
Actualizado el 07-06-2024
Duración: 20 min

Descrubre el algoritmo de pintado en iCuadernos by Rubio

En el presente tutorial vamos a ver de forma sencilla el algoritmo de pintado que utilizamos en Imagina Group & Mono Agency para desarrollar la parte de Educación Infantil de los iCuadernos by Rubio.

Paso 1: Crear un nuevo proyecto en XCode

Para comenzar, crearemos un nuevo proyecto de tipo Simple View Application en XCode. Asegúrate de seguir estas opciones:

  • Nombre del proyecto: [nombre del proyecto]
  • StoryBoards: No
  • ARC: No
  • Dispositivo: Solo para iPad

Paso 2: Importar los frameworks necesarios

El siguiente paso es importar los frameworks que utilizaremos en nuestro proyecto. Sigue estos pasos:

  1. Ve a la pestaña Build Phases dentro de la cabecera de tu proyecto.
  2. Abre "Link binary With Libraries".
  3. Añade los siguientes frameworks con el botón "+": OpenGLES.framework y QuartzCore.framework.

Paso 3: Insertar la importación en el fichero .h

Para utilizar los frameworks importados, necesitamos insertar la siguiente línea de código dentro del fichero .h de nuestro UIViewController:

1#import <QuartzCore/QuartzCore.h>

Paso 4: Crear el lienzo de dibujo

En este paso, crearemos nuestro lienzo de dibujo en un UIViewController. Sigue estos pasos:

  1. Abre el archivo ViewController.xib.
  2. Arrastra un UIImageView desde el listado de herramientas hasta la vista principal.
  3. Activa el assistant editor (el botón que parece un frac arriba a la derecha en XCode).
  4. Arrastra desde el xib con ctrl+click en la nueva UIImageView hasta el .h para crear el IBOutlet que enlaza.
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Paso 5: Inicializar los valores de pintado

Para poder realizar un pintado sencillo, debemos crear variables para guardar los datos de color, grosor del pincel y la posición de los toques. Añade el siguiente código dentro del ViewController.h:

1#import <UIKit/UIKit.h> 2#import <QuartzCore/QuartzCore.h> 3 4@interface ViewController : UIViewController { 5 float rojo; 6 float verde; 7 float azul; 8 float pincel; 9 CGPoint currentPoint; 10 CGPoint previousPoint1; 11} 12 13@property (retain, nonatomic) IBOutlet UIImageView *image; 14 15@end

Paso 6: Gestión del pintado

En este paso, gestionaremos el pintado inicializando los valores de color y pincel. Dentro del método viewDidLoad, añade el siguiente código:

1pincel = 10.0; 2rojo = 0.2; 3verde = 0.3; 4azul = 0.7; 5image.multipleTouchEnabled = NO;

Además, sobreescribiremos los métodos touchesBegan y touchesMoved con el siguiente código:

1(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 2 UITouch *touch = [touches anyObject]; 3 previousPoint1 = [touch previousLocationInView:image]; 4 currentPoint = [touch locationInView:image]; 5} 6 7(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 8 UITouch *touch = [touches anyObject]; 9 previousPoint1 = [touch previousLocationInView 10 11:image]; 12 currentPoint = [touch locationInView:image]; 13 14 UIGraphicsBeginImageContext(image.frame.size); 15 CGContextRef context = UIGraphicsGetCurrentContext(); 16 [image.image drawInRect:CGRectMake(0, 0, image.frame.size.width, image.frame.size.height)]; 17 CGContextMoveToPoint(context, previousPoint1.x, previousPoint1.y); 18 CGContextAddLineToPoint(context, currentPoint.x, currentPoint.y); 19 CGContextSetLineCap(context, kCGLineCapRound); 20 CGContextSetLineWidth(context, pincel); 21 CGContextSetRGBStrokeColor(context, rojo, verde, azul, 1.0); 22 CGContextStrokePath(context); 23 image.image = UIGraphicsGetImageFromCurrentImageContext(); 24 UIGraphicsEndImageContext(); 25}

En el código, hemos inicializado los puntos actual y anterior en touchesBegan, y en touchesMoved actualizamos los puntos y realizamos el pintado en el contexto.

¡Listo para probarlo!

Ahora solo nos queda ejecutar la aplicación y ver el resultado. En siguientes tutoriales iremos viendo cómo suavizar las líneas, cómo borrar y añadir botones para cambio de color, entre otras características. Mientras tanto, puedes conocer las características de la aplicación de iCuadernos by Rubio.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
Tutoriales relacionados
¿Qué es una Aplicación (App)?
Explorando el mundo de las aplicaciones: Una guía comprensiva desde sus fundamentos hasta su impacto en la vida cotidiana y el negocio
Notificaciones Push en tu proyecto Xamarin con Firebase
Aumenta la interacción en tu proyecto Xamarin con Firebase: Tutorial completo de Notificaciones Push. ¡Impulsa tu app ahora!
Tutorial NativeScript: Cómo Crear tu Primera App
¡Domina NativeScript desde cero y crea increíbles apps! Tutorial práctico para principiantes. ¡Entra ahora y desata tu potencial de desarrollo!
Cómo crear un Slider en iOS: Tutorial paso a paso
Deslumbra con estilo: Aprende a crear sliders cautivadores en iOS y lleva tus aplicaciones al siguiente nivel. ¡Haz clic y deslízate hacia el éxito!
Tabla de contenido
Descrubre el algoritmo de pintado en iCuadernos by Rubio
Paso 1: Crear un nuevo proyecto en XCode
Paso 2: Importar los frameworks necesarios
Paso 3: Insertar la importación en el fichero .h
Paso 4: Crear el lienzo de dibujo
Paso 5: Inicializar los valores de pintado
Paso 6: Gestión del pintado
¡Listo para probarlo!
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *