2016-08-12 3 views
1

In meiner App habe ich ein Rechteck ImageView, die einen weißen Hintergrund mit einem Loch aus der Mitte ausgeschnitten enthält. Dahinter habe ich eine Kameravorschau eingestellt, so dass nur das Loch die Kamera zeigt. Wie würde ich nur ein Bild von der IMAGEVIEW.X AND Y AND HEIGHT AND WIDTH machen, damit ich immer noch das Gesicht sehen kann. Beschneiden Sie den Screenshot im Grunde auf die Größe der Bildansicht
Screenshot bestimmten Teil des Bildschirms programmgesteuert

Antwort

0

Hoffe, dies hilft.

private void takeScreenshot() { 
Date now = new Date(); 
android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now); 

try { 
    // image naming and path to include sd card appending name you choose for file 
    String mPath = Environment.getExternalStorageDirectory().toString() + "/" + now + ".jpg"; 

    // create bitmap screen capture 
    View v1 = getWindow().getDecorView().getRootView(); 
    v1.setDrawingCacheEnabled(true); 
    Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache()); 
    v1.setDrawingCacheEnabled(false); 

    File imageFile = new File(mPath); 

    FileOutputStream outputStream = new FileOutputStream(imageFile); 
    int quality = 100; 
    bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream); 
    outputStream.flush(); 
    outputStream.close(); 

    openScreenshot(imageFile); 
} catch (Throwable e) { 
    // Several error may come out with file handling or OOM 
    e.printStackTrace(); 
} 
} 
Verwandte Themen