借鉴ImageView的多个位图 [英] Draw multiple bitmaps on Imageview

查看:172
本文介绍了借鉴ImageView的多个位图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个显示第一幅图像的ImageView的。我想提请在它上面的第二个较小的图像。我使用的画布绘制第二图像,但不会出现了。在这里,我要检查它是否在ImageView的第二触摸然后让第二图像绘制。谢谢

  iv2.setOnTouchListener(新View.OnTouchListener(){
        @覆盖
        公共布尔onTouch(视图V,MotionEvent事件){            INT行动= event.getAction();
            浮X = event.getX();
            浮Y = event.getY();            INT countClicked = countClicked + 1;            开关(动作){
            案例MotionEvent.ACTION_DOWN:
                帆布C =新的Canvas(MYBITMAP);
                c.drawBitmap(BM,0,0,NULL);
                iv2.setImageBitmap(MYBITMAP);                如果(countClicked == 2){
                    c.drawBitmap(secondBitmap,X,Y,p)的
                }
                打破;
            返回true;


解决方案

编辑:

 画布C =新的Canvas(MYBITMAP);
            c.drawBitmap(BM,0,0,NULL);            如果(countClicked == 2){// .setImageBitmap之前执行此操作
                c.drawBitmap(secondBitmap,X,Y,p)的
            }            iv2.setImageBitmap(MYBITMAP); //这需要你去添加第二个图像后

据绘画,但你的形象设定到视图后,这是借鉴,所以它永远不会出现了。

I have an imageview which displays an first image. I want to draw second smaller image on top of it. I am using canvas to draw the second image but it doesn't appears. Here I want to check if it's second touch on the imageview then let the second image be drawn. Thanks

iv2.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            int action = event.getAction();
            float x = event.getX();
            float y = event.getY();

            int countClicked = countClicked + 1;

            switch (action) {
            case MotionEvent.ACTION_DOWN:
                Canvas c = new Canvas(myBitmap);
                c.drawBitmap(bm, 0, 0, null);
                iv2.setImageBitmap(myBitmap);

                if(countClicked == 2) {
                    c.drawBitmap(secondBitmap, x, y, p)
                }
                break;
            return true;

解决方案

Edit:

            Canvas c = new Canvas(myBitmap);
            c.drawBitmap(bm, 0, 0, null);

            if(countClicked == 2) { //Do this before .setImageBitmap
                c.drawBitmap(secondBitmap, x, y, p)
            }

            iv2.setImageBitmap(myBitmap); //This needs to go after you add the second image

It was drawing, but it was drawing after you set the image to the view, so it never shows up.

这篇关于借鉴ImageView的多个位图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆