matheversteher für bilddrehung gesucht



  • hallo,

    leider übersteigt das folgende meine arme wirre vorstellungskraft. vielleicht kann mir jemand von euch weiterhelfen. es geht darum ein bild zu drehen indem man die pixel an eine andere stelle kopiert.

    //Zeichnen der Felder mit hilfe der Stringliste
    	  //Für die Höhe des Spielfeldes
          for(int w=0;w<img_Spielfeld->Height/20;w++)
          {
    		   //Für die Breite des Spielfeldes
    		   for(int s=0;s<img_Spielfeld->Width/20;s++)
               {
                  tester=tester+w+","+s;
                  Sgefunden=stringliste.AnsiPos(tester)+tester.Length()+1;
    
    			  switch(stringliste[Sgefunden])
    			  {
    case 'B':
    						for(int wa=0;wa<20;wa++)
    						{
    							for(int se=0;se<20;se++)
    							{
    								if(imgBruecke->Canvas->Pixels[wa][se]!=clWhite)
    								{
    									img_Spielfeld->Canvas->Pixels[w*20+wa][s*20+se]=clBlack;
    								}
    							}
    						}
    						break;
    				case 'V':
    						for(int wa=0;wa<20;wa++)
    						{
    							for(int se=0;se<20;se++)
    							{
    								if(imgBruecke->Canvas->Pixels[wa][se]!=clWhite)
    								{
    									img_Spielfeld->Canvas->Pixels[w*20+wa][s*20+se]=clBlack;
    								}
    							}
    						}
    						break;
    				default:
    						break;
    			  }
    
    			  tester="";
    		   }
    

    an dieser stelle bei V:

    img_Spielfeld->Canvas->Pixels[w*20+wa][s*20+se]=clBlack;
    

    mag ich das bild um 90 grad gedreht haben. es handelt sich um einen waagrechten strich der danach senkrecht sein soll.

    sorry, meine mathematikkenntnisse sind mieserabel 😞

    gruesse rene





  • img_Spielfeld->Canvas->Pixels[w*20+20-se][s*20+wa]=clBlack;
    

    ...ist die antwort.

    danke

    gruesse rene


Anmelden zum Antworten