Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 598|回复: 0

Q&A: 想实现一个软件的具体功能

[复制链接]

该用户从未签到

发表于 2011-10-22 19:00:55 | 显示全部楼层 |阅读模式
     我是初学者想完成一个软件刚开始的功能。。。具体是这个过程1.这个软件打开时怎么弹出一个弹出对话框要求插入图片(自己觉得做一个activity加一个按钮然后按钮上监听插入图片这个动作);2.点击插入后,进入一个图片浏览器,不知道能不能调用系统自己的图片浏览器啊(我现在自己在学如何制作一个图片浏览器)3.选择好一个图片后,把人头取出来(我的android手机有这个功能,如何调用系统自带的呢?)4.进入这个程序,把人头图片在这个程序中应用
    具体就是这个过程,如果说的不清楚,我再解释。谢谢各位大虾了
回复

使用道具 举报

该用户从未签到

发表于 2011-10-22 19:01:00 | 显示全部楼层

Re:Q

这个论坛为什么提问都没人回答呢。。。。自己已经解决了,有空上传解决方案哈。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-22 19:01:06 | 显示全部楼层

Re:Q

嘿嘿,今天这个问题解决了,即调用系统图库,及照相机,然后再调用切图工具。我把源码分享下,有空可以去我的博客看看关于它的学习笔记哈(http://blog.sina.com.cn/s/blog_6c9bac050100xghu.html

public class AddCardActivity extends Activity {  
        public static final int NONE = 0;  
            public static final int PHOTOHRAPH = 1;// 拍照
            public static final int PHOTOZOOM = 2; // 缩放
            public static final int PHOTORESOULT = 3;// 结果
//此处设置了调用的Data MINI类型
            public static final String IMAGE_UNSPECIFIED = "image/*";  
            ImageView imageView = null;  
            Button button0 = null;  
             Button button1 = null;  
            @Override  
            public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        imageView = (ImageView) findViewById(R.id.imageID);  
        button0 = (Button) findViewById(R.id.btn_01);  
        button1 = (Button) findViewById(R.id.btn_02);
        //给相册按钮设置事件监听
        button0.setOnClickListener(new OnClickListener() {  
            @Override
            public void onClick(View v) {  
                /*方法一:
                Intent intent = new Intent();  
                intent.setType("*/*");  
                intent.setAction(Intent.ACTION_GET_CONTENT);   
                startActivityForResult(intent, -1);  
                */
                Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);  
                startActivityForResult(intent, PHOTOZOOM);  
            }
        });  
        //给拍照按钮设置事件监听
        button1.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                        //声明了intent对象,action为照相功能
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
                        //将照相结果保存
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "temp.jpg")));  
                //转会这个activity
                startActivityForResult(intent, PHOTOHRAPH);  
            }  
        });  
    }
    @Override  
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        if (resultCode == NONE)  
            return;  
        // 拍照  
        if (requestCode == PHOTOHRAPH) {  
            //设置文件保存路径这里放在跟目录下   
            File picture = new File(Environment.getExternalStorageDirectory() + "/temp.jpg");  
            startPhotoZoom(Uri.fromFile(picture));  
        }  
        if (data == null)  
            return;  
        // 读取相册缩放图片  
        if (requestCode == PHOTOZOOM) {  
            startPhotoZoom(data.getData());  
        }  
        // 处理结果  
        if (requestCode == PHOTORESOULT) {  
            Bundle extras = data.getExtras();  
            if (extras != null) {  
                Bitmap photo = extras.getParcelable("data");  
                ByteArrayOutputStream stream = new ByteArrayOutputStream();  
                photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0 - 100)压缩文件  
                //此处是为了将切图进行保存在sdcard中(记住声明系统权限啊)
                try {
                    File picture = new File("/sdcard/yyj1234.bmp");
                    if(!picture.exists())
                    {
                            picture.createNewFile();
                    }
                                        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(picture));
                                        photo.compress(Bitmap.CompressFormat.PNG, 100, bos);
                                        bos.flush();
                                        bos.close();
                } catch (FileNotFoundException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                        System.out.println("wuwu,no file");
                                }catch (Exception e) {
                                        // TODO: handle exception
                                        System.out.println(e.getMessage());
                                }
                imageView.setImageBitmap(photo);  
                try {
                                        stream.close();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        System.out.println(e.getMessage());
                                }
            }
        }  
        super.onActivityResult(requestCode, resultCode, data);  
    }  
  
    public void startPhotoZoom(Uri uri) {  
            //此处就是调用了android系统给定的切图功能
            Intent intent = new Intent("com.android.camera.action.CROP");  
        intent.setDataAndType(uri, IMAGE_UNSPECIFIED);  
        intent.putExtra("crop", "true");  
        // aspectX aspectY 是宽高的比例  
        intent.putExtra("aspectX", 1);  
        intent.putExtra("aspectY", 1);  
        // outputX outputY 是裁剪图片宽高  
        intent.putExtra("outputX", 64);  
        intent.putExtra("outputY", 64);  
        intent.putExtra("return-data", true);  
        startActivityForResult(intent, PHOTORESOULT);  
    }  
}
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-22 19:01:12 | 显示全部楼层

Re:Q

我有问题请教   这个事我QQ1070082476
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 14:42 , Processed in 0.338463 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表