Rita upp en bild på skärmen

Diskussion i 'Frågor, support och diskussion' startad av frozendragon, 24 mar 2011.

  1. frozendragon

    frozendragon Infant Droid Medlem

    Blev medlem:
    6 feb 2011
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Försöker rita upp en del av en bild som är större än skärmen(bilden är 6000*6000 pixlar), självklart försöker jag bara rita upp det som får plats. Har dock kört fast lite och kommer inte på hur jag ska fixa det.

    Min kod än så länge.
    Kod:
    	private float Scale = 0.5f;
    
        private void DrawBackground(Canvas canvas, int ImageId) { 	
        	canvas.save();
        	canvas.scale(Scale, Scale);
        	Bitmap bmp = BitmapFactory.decodeResource(getResources(), ImageId);
        	canvas.drawColor(Color.TRANSPARENT);
        	Display display = getWindowManager().getDefaultDisplay(); 
        	int width = display.getWidth();
        	int height = display.getHeight();
        	canvas.drawBitmap(bmp, new Rect(0, 0, width, height), new Rect(0, 0, 6000, 6000), null);
        	canvas.restore();
    	}
     
    Last edited: 24 mar 2011
  2. ozp

    ozp Teen Droid Medlem

    Blev medlem:
    6 maj 2010
    Inlägg:
    250
    Mottagna gillanden:
    31

    MINA ENHETER

    Canvas.drawBitmap är definerad enligt följande

    public void drawBitmap (Bitmap bitmap, Rect src, Rect dst, Paint paint)

    I src ska du skicka in en Rect som beskriver vad i bilden du vill använda.
    Vill du visa hela bilden skickar du in new Rect(0,0,bitmap.getWidth(), bitmap.getHeight()). Vill du bara visa en del av bilden anger du vilka punkter du vill använda.

    I dst skickar du in en Rect som beskriver var på canvasen bilden ska ritas. Vill du använda hela canvasen skickar du in new Rect(0,0,getWidth(),getHeight())

    Mer info hittar du på http://developer.android.com/refere...anvas.html#drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint)