1、在androidMainfest.xml中加入:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2、添加控件imageview、按钮button进行消息响应
3、图片的显示需要缩放:
//读取图片,并显示到控件imageView
ImageView imageView = (ImageView) findViewById(R.id.imageView);
Bitmap d= BitmapFactory.decodeFile(picturePath);
int nh = (int) ( d.getHeight() * (512.0 / d.getWidth()) );
Bitmap scaled = Bitmap.createScaledBitmap(d, 512, nh, true);
imageView.setImageBitmap(scaled);
1、从https://github.com/CyberAgent/android-gpuimage下载gpuimage,并把android-gpuimage/library/src文件目录源码拷贝处理,与我们自己的项目src目录合并。
2、在我们的src目录下,有个build.gradle打开,然后往dependencies中加入:
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
3、在mainactivity中加入gpu相关处理程序
//gpu 预处理 GPUImage mGPUImage = new GPUImage(this); //mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.imageView));//加入这句,程序会崩溃 mGPUImage.setImage(scaled); //设置gpu要处理的图片 mGPUImage.setFilter(new GPUImageSobelEdgeDetection());//设置滤波方法 d = mGPUImage.getBitmapWithFilterApplied();//进行gpu图像处理,获取处理后的图片
4、mainactivity主要源码如下:
//读取图片,并显示到控件imageView ImageView imageView = (ImageView) findViewById(R.id.imageView); Bitmap d= BitmapFactory.decodeFile(picturePath); int nh = (int) ( d.getHeight() * (512.0 / d.getWidth()) );//把图片缩放到可以在屏幕上显示 Bitmap scaled = Bitmap.createScaledBitmap(d, 512, nh, true); //gpu 预处理 GPUImage mGPUImage = new GPUImage(this); //mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.imageView));//加入这句,程序会崩溃 mGPUImage.setImage(scaled); //设置gpu要处理的图片 mGPUImage.setFilter(new GPUImageSobelEdgeDetection());//设置滤波方法 d = mGPUImage.getBitmapWithFilterApplied();//进行gpu图像处理,获取处理后的图片 imageView.setImageBitmap(d);//设置view控件中的显示内容