Benutzer mit den meisten Antworten
Nullpunkt vom Image verschieben?

Frage
Antworten
-
Hallo m
Ein (GDI+) Bitmap hat insofern keinen frei verschiebbaren (Koordinaten-) Nullpunkt, sondern eigentlich bloss Pixeldaten,
siehe (intern):
http://msdn.microsoft.com/en-us/library/system.drawing.imaging.bitmapdata.stride.aspx
"If the stride is positive, the bitmap is top-down.
If the stride is negative, the bitmap is bottom-up"http://msdn.microsoft.com/en-us/library/system.drawing.imaging.bitmapdata.scan0.aspx
Was geht, wäre noch Image.RotateFlip:
http://msdn.microsoft.com/en-us/library/system.drawing.image.rotateflip.aspx
Aber erst im Kontext zB einer 'Graphics'
(etwa via http://msdn.microsoft.com/en-us/library/system.drawing.graphics.fromimage.aspx )
gibt es freie Rotationen/Transformationen wie
http://msdn.microsoft.com/en-us/library/system.drawing.graphics.rotatetransform.aspx- Als Antwort vorgeschlagen Frank Dzaebel Donnerstag, 7. Oktober 2010 19:45
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 12. Oktober 2010 15:17
Alle Antworten
-
Hallo m
Ein (GDI+) Bitmap hat insofern keinen frei verschiebbaren (Koordinaten-) Nullpunkt, sondern eigentlich bloss Pixeldaten,
siehe (intern):
http://msdn.microsoft.com/en-us/library/system.drawing.imaging.bitmapdata.stride.aspx
"If the stride is positive, the bitmap is top-down.
If the stride is negative, the bitmap is bottom-up"http://msdn.microsoft.com/en-us/library/system.drawing.imaging.bitmapdata.scan0.aspx
Was geht, wäre noch Image.RotateFlip:
http://msdn.microsoft.com/en-us/library/system.drawing.image.rotateflip.aspx
Aber erst im Kontext zB einer 'Graphics'
(etwa via http://msdn.microsoft.com/en-us/library/system.drawing.graphics.fromimage.aspx )
gibt es freie Rotationen/Transformationen wie
http://msdn.microsoft.com/en-us/library/system.drawing.graphics.rotatetransform.aspx- Als Antwort vorgeschlagen Frank Dzaebel Donnerstag, 7. Oktober 2010 19:45
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 12. Oktober 2010 15:17
-
Hallo Mimuel,
du meinst sicher Windows Forms ...
Dann zum Beispiel:
Image m = Image.FromFile(@"C:\p1.png"); using (Graphics gfx = this.CreateGraphics()) { for (int i = 0; i <= 360; i++) { Bitmap b = new Bitmap(m.Width, m.Height); using (Graphics g = Graphics.FromImage(b)) { g.TranslateTransform(m.Width / 2, m.Height / 2); g.RotateTransform(i); g.TranslateTransform(-m.Width / 2, -m.Height / 2); g.DrawImage(m, 0, 0); } gfx.DrawImage(b, 100, 100); b.Dispose(); } }
ciao Frank