새내기 질문안드로이드 - 레이어 목록 XML 정의 내에서 알파 마스크를 직접 선언 할 수 있습니까?
ImageView의 소스로 사용하는 layers.xml이 있습니다. 그리고 두 개의 이미지, mask.png 및 image.jpg를
layers.xml :
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/image" android:gravity="center"/>
</item>
<item>
<bitmap android:src="@drawable/mask" android:gravity="center"/>
</item>
</layer-list>
이미지 뷰 : 출력 이미지를 통해 바로 PNG입니다 순간
<ImageView
android:id="@+id/img_B"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/layers"/>
. 나는 PNG 지금처럼 PNG의 알파 채널을 사용하여 이미지를 클리핑, 마스크 역할을하고 싶습니다 :
는 XML에서 직접 가능성이있다, 또는 내가 코드에 의해 그것을해야합니까? 당신의 조언을
감사)
업데이트 : 내가
ImageView img = (ImageView) findViewById(imgID);
Canvas canvas = new Canvas();
Bitmap mainImage = BitmapFactory.decodeResource(getResources(), R.drawable.img);
Bitmap mask = BitmapFactory.decodeResource(getResources(), R.drawable.mask);
Bitmap result = Bitmap.createBitmap(mainImage.getWidth(), mainImage.getHeight(), Bitmap.Config.ARGB_8888);
canvas.setBitmap(result);
Paint paint = new Paint();
paint.setFilterBitmap(false);
canvas.drawBitmap(mainImage, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
canvas.drawBitmap(mask, 0, 0, paint);
paint.setXfermode(null);
img.setImageBitmap(result);
img.invalidate();
여기 나를 가리키는 좋은 방법이었습니다. 이것에 대해서는 잘 모르겠지만 좀 둘러보고 다시 찾아 보도록하겠습니다. – Shaunak
이것은 방금 나를 구했기 때문에 이것을 수락 된 대답으로 써야합니다! – DeeV
주어진 대답은 원래 질문에 답하지 않습니다. 마스크 레이어가 레이어 목록 xml을 사용하여 선언 될 수 있는지 궁금합니다. –