그림자 하드웨어 가속과보기 수준에서 캐싱을 사용할 수 없습니다. 또한
당신은 또한 ... 캐싱에 따라서 사용할 수 없습니다 해제되어 상승 효과보다 View
(실제로 부모)에 대한 하드웨어 가속을 끄면
(aView.Parent as View).SetLayerType(LayerType.Software, null);
전망 캐시 예를 캡처 :
를
Bitmap CaptureView(View view)
{
if (view.IsHardwareAccelerated)
Toast.MakeText(ApplicationContext, "View Is Hardware Accelerated, Effects will not be captured", ToastLength.Long).Show();
view.BuildDrawingCache();
Bitmap bitmap = view.GetDrawingCache(false);
Bitmap bitmapCopy = bitmap.Copy(Bitmap.Config.Argb8888, false);
view.DestroyDrawingCache();
return bitmapCopy;
}
그래서 그림자를 캡처 할 수 없다는 의미입니까? 해결 방법이 있습니까? – amitairos
@amitairos 5.0+에서 Projection API를 사용하여 기본 화면/기본 화면의 'Surface'를 가져온 다음 Surface를 캡처 할보기의 부모 좌표로 클리핑 할 수 있습니다 ("그림자"는 그것을 정의하는보기, 그것은 그보기의 부모입니다 ....). 정말 당신의 유스 케이스에 달려 있습니다 ... – SushiHangover
주 화면의 표면을 얻는 방법을 설명 할 수 있습니까? 나는 이것에 익숙하지 않다. – amitairos