Girar una imagen con C# - UPV/ una imagen... · Girar una imagen con C# Aintzane Conde Para realizar…

  • Published on
    29-Sep-2018

  • View
    216

  • Download
    0

Embed Size (px)

Transcript

<ul><li><p>Girar una imagen con C# Aintzane Conde</p><p>Girar una imagen con C#</p></li><li><p>Girar una imagen con C# Aintzane Conde</p><p>Girar una imagen con C#Se trata de crear una aplicacin para poder girar una imagen un ngulo determinado; bien </p><p>una nica vez, bien con una lista de parmetros (aplicacin de una brjula).</p><p>Abrimos un nuevo proyecto de Microsoft Visual C# Express 2010.</p>http://www.microsoft.com/express/Downloads/</li><li><p>Girar una imagen con C# Aintzane Conde</p><p>Para realizar esta aplicacin debemos aadir al formulario un PictureBox (cuadro de dibujo) desde el Cuadro de Herramientas, que se encuentra en el lateral izquierdo de la pantalla:</p><p>Extendemos el PictureBox hasta que ocupe todo el formulario. Para que este ejemplo d el resultado que se ve a continuacin, debemos ir a Ver, pinchar en Cdigo y escribir el Cdigo (enUbicacin_del_archivo debemos indicar la Ruta de acceso al archivo deseado).</p></li><li><p>Girar una imagen con C# Aintzane Conde</p></li><li><p>Girar una imagen con C# Aintzane Conde</p><p>Cdigousing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;</p><p>using System.Drawing.Drawing2D;</p><p>namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); Bitmap Imagen = new Bitmap(@"C:\Ubicacin_del_archivo.bmp", true); float Angulo = 30; pictureBox1.Image = rotateImage(Imagen, Angulo); }</p><p> private Bitmap rotateImage(Bitmap b, float angle) { Bitmap returnBitmap = new Bitmap(b.Width, b.Height); Graphics g = Graphics.FromImage(returnBitmap); g.TranslateTransform((float)b.Width / 2, (float)b.Height / 2); g.RotateTransform(angle); g.TranslateTransform(-(float)b.Width / 2, -(float)b.Height / 2); g.DrawImage(b, new Point(0, 0)); return returnBitmap; } }}</p><p>Tambin existe la opcin de introducir en un Timer la accin de giro de la imagen, construyendo previamente una lista de valores (alLista es un ArrayList) que representen los ngulos a girar. Se debern inicializar k , alLista y Angulo como variable globales:</p><p> private void timer1_Tick(object sender, EventArgs e) { if (k &lt; alLista.Count) { float Angulo = float.Parse(Convert.ToString(alLista[k])); pictureBox1.Image = rotateImage(Imagen, Angulo); k = k + 1; } else { pictureBox1.Image = rotateImage(Imagen, 0); } }</p>Para realizar esta aplicacin debemos aadir al formulario un PictureBox (cuadro de dibujo) desde el Cuadro de Herramientas, que se encuentra en el lateral izquierdo de la pantalla:</li></ul>