Java Examples for android.view.PixelCopy
The following java examples will help you to understand the usage of android.view.PixelCopy. These source code samples are taken from different open source projects.
Example 1
Project: platform_frameworks_base-master File: HardwareCanvasSurfaceViewActivity.java View source code |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FrameLayout content = new FrameLayout(this); mSurfaceView = new SurfaceView(this); mSurfaceView.getHolder().addCallback(this); Button button = new Button(this); button.setText("Copy bitmap to /sdcard/surfaceview.png"); button.setOnClickListener((View v) -> { final Bitmap b = Bitmap.createBitmap(mSurfaceView.getWidth(), mSurfaceView.getHeight(), Bitmap.Config.ARGB_8888); PixelCopy.request(mSurfaceView, b, (int result) -> { if (result != PixelCopy.SUCCESS) { Toast.makeText(HardwareCanvasSurfaceViewActivity.this, "Failed to copy", Toast.LENGTH_SHORT).show(); return; } try { try (FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory() + "/surfaceview.png")) { b.compress(Bitmap.CompressFormat.PNG, 100, out); } } catch (Exception e) { } }, mSurfaceView.getHandler()); }); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); layout.addView(button, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layout.addView(mSurfaceView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); content.addView(layout, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); setContentView(content); }
Example 2
Project: android_frameworks_base-master File: HardwareCanvasSurfaceViewActivity.java View source code |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FrameLayout content = new FrameLayout(this); mSurfaceView = new SurfaceView(this); mSurfaceView.getHolder().addCallback(this); Button button = new Button(this); button.setText("Copy bitmap to /sdcard/surfaceview.png"); button.setOnClickListener((View v) -> { final Bitmap b = Bitmap.createBitmap(mSurfaceView.getWidth(), mSurfaceView.getHeight(), Bitmap.Config.ARGB_8888); PixelCopy.request(mSurfaceView, b, (int result) -> { if (result != PixelCopy.SUCCESS) { Toast.makeText(HardwareCanvasSurfaceViewActivity.this, "Failed to copy", Toast.LENGTH_SHORT).show(); return; } try { try (FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory() + "/surfaceview.png")) { b.compress(Bitmap.CompressFormat.PNG, 100, out); } } catch (Exception e) { } }, mSurfaceView.getHandler()); }); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); layout.addView(button, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layout.addView(mSurfaceView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); content.addView(layout, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); setContentView(content); }