imageView图片保存到本地和相册
2015-11-20 15:26
489 查看
package com.example.kk.myapplication; import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; import android.content.ClipboardManager; import android.os.Environment; import android.provider.MediaStore; import android.util.Log; import android.view.View; import android.view.Window; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class focusUsActivity extends Activity { private ImageView back; private TextView copyWeChatNumber; private ImageView two_dimension_code; private ClipboardManager cmb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.focus_us); } @Override protected void onResume() { super.onResume(); init(); } private void init(){ back=(ImageView)findViewById(R.id.focususBack); copyWeChatNumber=(TextView)findViewById(R.id.copyWeChatNumber); two_dimension_code=(ImageView)findViewById(R.id.two_dimension_code); cmb = (ClipboardManager)this.getSystemService(Context.CLIPBOARD_SERVICE); setComponent(); } private void setComponent(){ back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(focusUsActivity.this,localPhoneActivity.class); startActivity(intent); } }); if(cmb.getText().toString().equals("ivali-mobi")){ copyWeChatNumber.setBackgroundColor(Color.parseColor("#ADADAD")); copyWeChatNumber.setText("微信号已经复制到剪贴板"); }else { copyWeChatNumber.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { copyWeChatNumber.setBackgroundColor(Color.parseColor("#ADADAD")); copyWeChatNumber.setText("微信号已经复制到剪贴板"); cmb.setText("ivali-mobi"); } }); } two_dimension_code.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { /* saveImage("ivali-icon.JPEG");*/ //保存到本地 /storage/emulated/0/saving_picture SaveImageToSysAlbum(); //保存到相册 return false; } }); } public static String getSDPath() { boolean hasSDCard = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); if(hasSDCard) { return Environment.getExternalStorageDirectory().toString()+"/saving_picture"; } else{ return "/data/data/com.example.kk.myapplication/saving_picture"; } } public static Bitmap convertViewToBitmap(View view) { view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); view.buildDrawingCache(); Bitmap bitmap = view.getDrawingCache(); return bitmap; } public void saveImage(String strFileName) { Bitmap bitmap = convertViewToBitmap(two_dimension_code); String strPath = getSDPath(); try { File destDir = new File(strPath); if (!destDir.exists()) { Log.d("MagicMirror", "Dir not exist create it " + strPath); destDir.mkdirs(); Log.d("MagicMirror", "Make dir success: " + strPath); } File imageFile = new File(strPath + "/" + strFileName); imageFile.createNewFile(); FileOutputStream fos = new FileOutputStream(imageFile); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void SaveImageToSysAlbum() { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { Bitmap bitmap = convertViewToBitmap(two_dimension_code); if (bitmap != null) { try { ContentResolver cr = getContentResolver(); String url = MediaStore.Images.Media.insertImage(cr, bitmap, String.valueOf(System.currentTimeMillis()), ""); Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } }else { Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show(); } }else { Toast.makeText(this, "没有sdcard,保存失败", Toast.LENGTH_SHORT).show(); } } }
相关文章推荐
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- upload上传单张图片
- 图片引发的溢出危机(图)
- C#实现把彩色图片灰度化代码分享
- C#将图片和字节流互相转换并显示到页面上
- C#监控文件夹并自动给图片文件打水印的方法
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- C#实现将Email地址转成图片显示的方法
- 超级经典一套鼠标控制左右滚动图片带自动翻滚
- 用css实现图片垂直居中的使用技巧
- C++实现读取图片长度和宽度
- PHP根据图片色界在不同位置加水印的方法
- php通过修改header强制图片下载的方法
- PHP安全上传图片的方法
- 使用GD库生成带阴影文字的图片
- php获取网页里所有图片并存入数组的方法