picturebox image drehen



  • Hallo!

    Wie kann ich denn ein Bild in einer PictureBox um 90° drehen (mit C#)? Arbeite in VisualStudio .NET 2003. Das Projekt ist aber für MDA also ist das eine abgespecktere Version von einer Picture box.

    Danke im Voraus



  • im Notfall per Hand - such mal auf Codeproject nach rotating und image



  • Habe eins gefunden, ist aber nur C++ Code

    und ein anderes, das klappt zwar, nur im VS .NET 2003 gibt es bei Graphics.DrawImage() nur 4 Überladungsmöglichkeiten und bei 2005 ca. 30...

    d.h. ich kann bei 2003 keinn Point übergeben.



  • Hab das 2003er und hab auch ca. 30 Überladungen



  • ach programmier das doch einfach selber - einfach zeilen als spalten und spalten als zeilen interpretieren

    // Bitmap Screen locken
    System.Drawing.Imaging.BitmapData bmd_Screen = Screen.LockBits(
    	rect, 
    	System.Drawing.Imaging.ImageLockMode.WriteOnly,
    	System.Drawing.Imaging.PixelFormat.Format32bppArgb);
    
    unsafe
    {
    	for(int y=rect.Top; y<rect.Bottom; y++)
    	{
    		//int offset = y*bmd.Stride/4;
    		int offset = (y-rect.Top)*bmd_Screen.Stride>>2;
    
    		uint* row_new=(uint *)bmd_Screen.Scan0+(offset);
    
    		for(int x=rect.Left; x<rect.Right; x++)
    		{
    			row_new[x] = 0xFFFF0000;	// Alles Rot!
    		}
    	}
    }
    
    // Bitmap Screen entsperren
    Screen.UnlockBits(bmd_Screen);
    

    was brauchste den für ne Funktion?

    Bitmap Rotate90(Bitmap bmp);
    

    sowas? oder wie?



  • Danke für den Code. Aber ich kann den net anwenden da die Platform des MDAs es nicht unterstützt (oder stell ich mich da nur doof an?)

    Eine Funktion die das bild um 90° rotiert ja. Aber wie gesagt bei einer MDA anwendung (NeuesProjekt -->Anwendung für intelligente Geräte, unter VS .NET 2003)



  • Kann mir keiner weiterhelfen?



  • zeilen als spalten und spalten als zeilen interpretieren - du musst doch ne möchgleichkeit haben auf die einzelnen Pixel des Bildes zu greifen - wo liegt das problem?


Anmelden zum Antworten