问题描述
- android撕衣服为什么涂的时候不是透明而是黑色
- public class MainActivity extends ActionBarActivity {
private ImageView iv;
private Bitmap srcbmp;
private Bitmap alterBmp;
private Canvas canvas;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); srcbmp = BitmapFactory.decodeResource(getResources() R.drawable.pre); alterBmp = Bitmap.createBitmap(srcbmp.getWidth() srcbmp.getHeight() srcbmp.getConfig()); canvas = new Canvas(alterBmp); Paint paint = new Paint(); paint.setColor(Color.BLACK); Matrix matrix = new Matrix(); canvas.drawBitmap(srcbmp matrix paint); iv.setImageBitmap(alterBmp); iv.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: // event.getRawX(); 离屏幕的距离 int x = (int) event.getX(); int y = (int) event.getY(); System.out.println(""设置("" + x + "" + y + "")为透明""); for (int i = -4; i < 5; i++) { for (int j = -4; j < 5; j++) { try { alterBmp.setPixel(x + i y + j 0); } catch (Exception e) { e.printStackTrace(); } } } iv.setImageBitmap(alterBmp); break; case MotionEvent.ACTION_UP: // MediaPlayer.create(getApplicationContext() R.raw.higirl // ).start(); break; } return true; // 可以重复循环的处理事件 } });}
}
解决方案
初学者,请各位高手指点。谢啦
解决方案二:
这个黄色想法的代码原理没搞清。估计是荷尔蒙冲量太大,忘记了要实现此功能,这图片是要有分层的,而且代码也不会这么简单。
现在用的是普通图片,只能展现某块区域的像素被删除。
解决方案三:
你设置的画笔paint 颜色为黑色 和背景颜色不一样,你要达到类似通明的感觉,你得将背景和画笔的颜色弄清楚
还有就是 你就一张图片是弄不出 这个功能的, 这种撕衣服的功能,最低层还是有一张 ××的图片,你删掉的只是上层的衣服而已
解决方案四:
paint.setColor(Color.BLACK);
换成
paint.setColor(Color.TRANSPARENT);
试试
解决方案五:
醉了,这个东西。直接覆盖透明应该也没用吧,
时间: 2024-09-30 06:57:18