位置: 编程技术 - 正文

在Android中实现截图功能(android 实例)

编辑:rootadmin

推荐整理分享在Android中实现截图功能(android 实例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简述android中实现事件处理的步骤,android 实例,简述android中实现事件处理的步骤,android使用什么作为程序开发语言,android中使用_______的方式来管理任务中的活动实例,android 实例,在androidstudio中,在androidstudio中,内容如对您有帮助,希望把文章链接给更多的朋友!

在Android中实现截图功能(android 实例)

在实际应用中,经常需要对图片进行处理,包括压缩、截图等等,其实android系统提供了一个可以截图的activity,我们只需调用它就行了,下面示例完成一个通过相机照相或相册选取图片后对其截图的功能,其实知道图片的路劲都可以调用截图activity,代码如下:

测试activity:

?importjava.io.File; importandroid.app.Activity; importandroid.content.Intent; importandroid.graphics.Bitmap; importandroid.graphics.drawable.BitmapDrawable; importandroid.net.Uri; importandroid.os.Bundle; importandroid.os.Environment; importandroid.provider.MediaStore; importandroid.provider.MediaStore.Images.Media; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.ImageView; importandroid.widget.Toast; publicclass TestClipImageActivity extendsActivity implementsOnClickListener { privateButton gallaryBtn; privateButton cameraBtn; privateImageView showImage; privateFile file; @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gallaryBtn = (Button) findViewById(R.id.main_btn_gallery); cameraBtn = (Button) findViewById(R.id.main_btn_camera); gallaryBtn.setOnClickListener(this); cameraBtn.setOnClickListener(this); showImage = (ImageView) findViewById(R.id.main_image); } @Override publicvoid onClick(View v) { if(v == gallaryBtn) { // 跳转至相册界面 Intent intent = newIntent(Intent.ACTION_PICK, Media.EXTERNAL_CONTENT_URI); startActivityForResult(intent, 0); } if(v == cameraBtn) { if(!Environment.MEDIA_MOUNTED.equals(Environment .getExternalStorageState())) { Toast.makeText(this, "请插入SD卡", Toast.LENGTH_SHORT).show(); return; } // 跳转至相机界面 Intent intent = newIntent(MediaStore.ACTION_IMAGE_CAPTURE); file = newFile(Environment.getExternalStorageDirectory(), getPhotoName()); // 指定相机拍照后相片的存储位置 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult(intent, 1); } } @Override protectedvoid onActivityResult(intrequestCode, intresultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // 系统相册返回 if(requestCode == 0&& resultCode == Activity.RESULT_OK && data != null) { startPhotoZoom(data.getData(), );// 截图 } // 系统相机返回 if(requestCode == 1&& resultCode == Activity.RESULT_OK) { startPhotoZoom(Uri.fromFile(file), );// 截图 } // 截图后返回 if(requestCode == 2&& data != null) { Bundle bundle = data.getExtras(); if(bundle != null) { Bitmap bitmap = bundle.getParcelable("data"); showImage.setBackgroundDrawable(newBitmapDrawable(bitmap)); } } } /** * 跳转至系统截图界面进行截图 * * @param data * @param size */ privatevoid startPhotoZoom(Uri data, intsize) { Intent intent = newIntent("com.android.camera.action.CROP"); intent.setDataAndType(data, "image/*"); // crop为true时表示显示的view可以剪裁 intent.putExtra("crop", "true"); // aspectX aspectY 是宽高的比例 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); // outputX,outputY 是剪裁图片的宽高 intent.putExtra("outputX", size); intent.putExtra("outputY", size); intent.putExtra("return-data", true); startActivityForResult(intent, 2); } /** * 产生照片名称 * * @return */ privateString getPhotoName() { String name = System.currentTimeMillis() &#; ".jpg"; returnname; } }布局文件:?<LinearLayoutxmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal"> <Button android:id="@&#;id/main_btn_gallery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="相册"/> <Button android:id="@&#;id/main_btn_camera" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="相机"/> </LinearLayout> <ImageView android:id="@&#;id/main_image" android:layout_width="dp" android:layout_height="dp" android:layout_gravity="center_horizontal" android:layout_marginTop="dp"/> </LinearLayout>加上权限:?<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

Android自定义答题进度条 看到公司项目原型图上有个答题进度条刚好没什么事情就自定义一个View首先是分析需要的属性attrname=maxprogrssformat=integer/attr!--最大的进度--attrname=curprogrs

[原]深刻理解activity启动模式,彻底理解android的四种启动模式,尤其singleTask 与界面跳转联系比较紧密的概念是Task(任务)和BackStack(回退栈),activity的启动模式会影响Task和BackStack的状态,Intent类中定义的一些标志(以FLAG_ACTIV

Android视图自定义View绘制流程完全解析,带你一步步深入了解View(二) 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行

标签: android 实例

本文链接地址:https://www.jiuchutong.com/biancheng/370945.html 转载请保留说明!

上一篇:Android gpio口在sys_comfig中的参数意义(gpio接口)

下一篇:Android自定义答题进度条(android 自定义dialog)

  • 跨年的所得税会计分录
  • 如何查询个人所有贷款记录
  • 职工交的商业保险怎么做账
  • 小微企业所得税优惠政策最新2022
  • 核算科目拨出专票怎么弄
  • 房产继承是不是谁照顾谁的
  • 领料投入生产会计分录
  • 个税父母赡养抵扣3000
  • 财务费用利息如何结转
  • 商业承兑汇票贴现手续费是多少
  • 企业促销应该采用什么方法
  • 开票与实际收款不一致有什么风险
  • 招待住宿费计入什么科目
  • 网上纳税申报怎么填
  • 增资的印花税纳税义务时间
  • 绿化养护按什么项目交增值税
  • 7月1日起,中药生产企业增值税税率为多少?
  • 不动产所占份额
  • 企业所得税能扣除的税金
  • 公司为职工购买社保只购买三险可以吗
  • 2018新个税
  • 营业成本过低的原因
  • 股息红利纳税义务发生地
  • mac小技巧
  • 如何设置电脑任务栏显示
  • 如何关闭windows10安全中心服务
  • 免税出口样品收多少税
  • 卖废旧物品账务处理
  • 个税汇算清缴已退税到账,怎么更正
  • PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
  • u盘怎么安装软件
  • 公司资产总额怎么算的啊
  • 增值税征税范围中的货物包括
  • 月末季末年末会计都需要做什么
  • 一般纳税人销售自己使用过的汽车
  • php获取地理位置
  • 民办非企业单位登记管理暂行条例
  • php获取浏览器ua
  • 2021前端热门技术解读
  • 代收代付业务
  • 冲减多计提的工资摘要怎么写
  • 企业所得税报表怎么更正
  • 进项大于销项怎么做分录
  • 防伪税控技术服务费订单号怎么查
  • 帝国cms自定义列表
  • 负数红字发票如何申报
  • ubuntu下编译安装opencv
  • 发票识别
  • 企业转让无形资产的方式有
  • 跨境收入免增值税需做备案吗
  • 土地使用权转让合法吗
  • 消费税在企业所得税前扣除吗
  • 经济作物评估标准
  • 代扣代缴的增值税算进项税吗
  • 结转费用后利润怎么算
  • 公司不开票了也要做账报税吗
  • 客户罚款员工承担
  • 进口关税税款的计税依据
  • 汇兑损益是什么凭证类型
  • 零申报必须会计吗?自己可以操作吗
  • 销售怎么写啊
  • sqlserver获取当天零点时间
  • MySql 5.7.17 winx64的安装配置详细教程
  • 电脑开机显示xp后无反应
  • bios是什么意思的
  • win8快捷方式
  • OS X Yosemite系统怎么制作u盘安装盘
  • linux批量管理平台
  • win7不允许我更改系统设置
  • ftql
  • 图形学题目
  • AnalogClock
  • cmd批处理命令文件个数
  • js过滤字符串中的特殊字符
  • [置顶]星陨计划
  • 轻松实现财富自由
  • 我是一般纳税人对方给我开的普票
  • 如何申报印花税的流程
  • 国家税务局什么时候放假
  • 长沙税务查询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设