Hola grupo:
Estoy haciendo una aplicación que quiero que haga los siguiente:
1. pinte un cuadrado:
Pen miLapiz = new Pen(Color.Red, 2);
Bitmap img = new Bitmap(600, 600);
Graphics g = Graphics.FromImage(img);
g.DrawRectangle(miLapiz, 200, 200, 100, 100);
this.img.Image = img;
Esto funciona bien, creo una imagen y luego la muestro en un
PictureBox (img)
2. rotar el cuadrado:
Bitmap b = new Bitmap(this.img.Image);
Bitmap nuevoBitmap = new Bitmap(b.Width, b.Height);
Graphics g = Graphics.FromImage(nuevoBitmap);
g.TranslateTransform((float)b.Width / 2, (float)b.Height / 2);
g.RotateTransform(5);
g.TranslateTransform(-(float)b.Width / 2, -(float)b.Height / 2);
g.DrawImage(b, new Point(0, 0));
this.img.Image = nuevoBitmap;
Y esto rota el cuadrado, realmente rota toda la imagen,
pero tengo estos dos problemas:
1. cuando roto, el cuadrado, la linea del cuadrado, se difumina, pierde
mucha calidad la imagen
2. Si el cuadrado lo pinto cerca de una esquina, la imagen desaparece si
sigo rotando, hasta el punto que si roto 360º la imagen de 15 en 15 grados,
al final tengo una imagen circular, pierdo todo lo que hay en las esquinas.
Alguna idea, gracias de antemano
Leer las respuestas