setrgb () setzen von farbwerte

Status
Nicht offen für weitere Antworten.

sousou

Bekanntes Mitglied
Hallo zusammen,


ich bin grad mit setRGB am arbeiten, ich möchte die Farbpixel setzen die ich davor ausgelesen habe um das Bild anzuzeigen. Dazu hab ich 2 Forschleifen gemacht wobei y die höhe ist und x für die breite steht.

bei setrgb ist ja der erste parameter x zweiter parameter y und der dritte parameter ist rgb .. ich lese wie man am code sieht jedoch die rot , grün und blau werte einzeln aus. Wie mix ich die denn zusammen damit das ordentlich geht?

Code:
         public void printPixel()
        {
             
        int i = 0;

        int sum_of_pxl = high * witdh;
        // erstelle nun für jeweils ROT, GRÜN, BLAU ein ARRAY
        // um die dazugehörigen WERTE in den ARRAY zu Speichern!
        int [] r = new int [sum_of_pxl];
        int [] g = new int [sum_of_pxl];
        int [] b = new int [sum_of_pxl];

        
  
           for( i = 0; i < sum_of_pxl; i++ ){
                        
                        r[i] =  readByte();
                        g[i] =  readByte();
                        b[i] =  readByte();

                        System.out.println( "Rot: " + readByte() + "; Grün: " + readByte() + "; Blau: " + readByte() );

              }

             return;

         }

     
      public void seePic(  ){

      int sum_of_pxl = high * witdh;
      int hoehe = high;
      int breite = witdh;
      
      BufferedImage image = new BufferedImage(high, witdh, BufferedImage.TYPE_INT_RGB);

      //int w = image.getWidth();
     // int h = image.getHeight();


   for ( int y = 0; y < high; y++){
            for ( int x = 0;  x < witdh; x++ ){

            image.setRGB(high, witdh, );

                }           
        
      }


lg
 
int rgb = r << 16 + g << 8 + b
oder
new Color(r,g,b).getRGB()

oder sowas in der Art,
wenn du Tutorials zu diesem Thema anschaust, muss das doch auch vorkommen
Google
 
ich sitz seid 5 stunden an google und versuchs raus zu finden. Das bringt nichts ich kann die pixel auslesen muss die nur noch einlesen.

also wär mal nett wenn mir jemand dabei behilflich ist pack das nicht allein.
 
ich sitz seid 5 stunden an google und versuchs raus zu finden. Das bringt nichts ich kann die pixel auslesen muss die nur noch einlesen.

also wär mal nett wenn mir jemand dabei behilflich ist pack das nicht allein.
 
Also als erstes fällt mir mal auf, dass du dort die folgende Zeile stehen hast:

Java:
image.setRGB(high, witdh, );

Versuchs mal mit:

Java:
int index = y*width + x; //bestimmt den Pixel-Index für deine drei rgb-Arrays.

image.setRGB(x, y, new Color(r[index], g[index], b[index]).getRGB());

Das ist jetzt die Lösung um das geladene Bild in einem neuen Bild abzuspeichern. Wenn du das Bild transponieren möchtest, oder was auch immer, musst du mal ein bisschen mit den Variablen x und y rum spielen.

Ich hoffe das hilft dir, ansonsten musst du dein Problem nochmal genauer beschreiben.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben