1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Rect einer ImageView erzeugen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Extremefall, 26.06.2012.

  1. Extremefall, 26.06.2012 #1
    Extremefall

    Extremefall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    83
    Erhaltene Danke:
    1
    Registriert seit:
    29.03.2012
    Hallo,
    ich erzeuge momentan ein Rechteck um ein ImageView Bild, um einen Schnitt won den Objekte zu erkennen. Nun suche ich nach einer Möglichkeit, den Code zu kürzen, da man sonst für jedes ImageView Objekt so viele Zeichen Code benötigt.

    Mein Code lautet wie folgt:
    Code:
     ImageView image= (ImageView)findViewById(R.id.bild);
                Rect imagerect= new Rect();
               
                 
    
                imagerect.left = image.getLeft();
                imagerect.top = image.getTop();
                imagerect.bottom = image.getBottom();
                imagerect.right = image.getRight();
                
    Gibt es eine Möglichkeit, ein Rect eines ImageViews zu erzeugen, wo der Code kürzer ist?
     
  2. steerben, 27.06.2012 #2
    steerben

    steerben Erfahrener Benutzer

    Beiträge:
    247
    Erhaltene Danke:
    33
    Registriert seit:
    27.04.2011
    So ist das ganze kürzer, wenn du es so meinst. Natürlich nur sofern du eine große (> 1) Anzahl an ImageViews hast.
    Die Methode musst du halt dann für jedes Bild, bzw. jedes Rect aufrufen und ihr die zugehörige Bildreferenz als Parameter mitgeben.

    Code:
    ImageView image = (ImageView)findViewById(R.id.bild);
    Rect imagerect = createRectFromImage(image);
    
    Code:
     
    public Rect createRectFromImage(ImageView image){
                Rect imagerect= new Rect();
               
                imagerect.left = image.getLeft();
                imagerect.top = image.getTop();
                imagerect.bottom = image.getBottom();
                imagerect.right = image.getRight();
    
                return imagerect;
    }
                
     
  3. Extremefall, 27.06.2012 #3
    Extremefall

    Extremefall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    83
    Erhaltene Danke:
    1
    Registriert seit:
    29.03.2012
    So habe ich es auch gelöst. Ich dachte, es gibt schon eine Fertige Methode dafur.
     
  4. Tom299, 27.06.2012 #4
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Code:
    	public Rect createRectFromImage(ImageView image){
    		return (image != null) ? new Rect(image.getLeft(), image.getTop(), image.getRight(), image.getBottom()) : null;
    	}
    
    viel kürzer gehts glaub ich nicht ;-)
     

Diese Seite empfehlen