近期做Android开发需求,涉及到需要将游戏应用的二维码保存到本地相册,以便用户可以查看分享。...的这篇文章,得到如下可以使用的代码: public static void saveImageToGallery(Context context, Bitmap bmp) { // 首先保存图片...fileName, null); } catch (FileNotFoundException e) { e.printStackTrace(); } // 最后通知图库更新...中,则会抛出以下异常: W/ActivityManager( 498): Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED...from pid=2269, uid=20016 那是因为Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡。
public class MainActivity extendsAppCompatActivity {int REQUEST_CODE = 0;private...
https://blog.csdn.net/lyhhj/article/details/48995065 好久没有写博客了,最近解决了一个令我头疼好久的问题,就是三星手机拍照图片旋转的问题,项目中有上传图片的功能...,那么涉及到拍照,从相册中选择图片,别的手机都ok没有问题,唯独三星的手机拍照之后,你会很清楚的看到会把照片旋转一下,然后你根据路径找到的图片就是已经被旋转的了,解决办法终于被我找到了。...我们可以根据图片的路径读取照片exif(Exchangeable Image File 可交换图像文件)信息中的旋转角度,至于这个EXIF可以看一下大牛的文章 Android 下的EXIF 根据调试...,可以清楚的发现三星手机拍照的图片的旋转角度是90度,而别的手机旋转角度是0度 看一下代码: /** * 读取照片exif信息中的旋转角度 * @param path 照片路径...IOException e) { e.printStackTrace(); } return degree; } 那么我们只需要根据旋转角度将图片旋转过来就
WebView控件是经常用到的,如果WebView中有选择图片这种操作,光是settings.setJavaScriptEnabled(true); 还是不够的,还需要重写WebChromeClient...checkSDcard()) return; String[] selectPicTypeStr = {"相机", "图库"}; new AlertDialog.Builder...File newFile = FileUtil.compressFile(f.getPath(), compressPath); } /** * 解决拍照后在相册中找不到的问题...getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); } /** * 本地相册选择图片...png或jpg格式", Toast.LENGTH_SHORT).show(); return null; } // 按我个人理解 这个是获得用户选择的图片的索引值
而且,功能也不算是很齐全吧…主要体现在以下几个点 没有回调之后的预览 选择之后不能删除已选 已选择的图片再次选择不能带过去 剪裁 压缩 权限 Glide版本过低 但是,也是有特点的 MD风格 白天模式和夜间模式...相比之下,昨天出的Android 选择图片、上传图片之PictureSelector就更加友好和人性化了。 下面来说说集成遇到的问题以及解决方案。...你以为从sample中copy copy代码,导下包就能跑起来了吗,nonono 选择器不光是有图片的吧,你可能还有gif和视频啊,所以在配置的时候你要选择一个type啊 sample是这样的 Matisse.from...遇到几个点还没有解决,也懒得深入研究了,我要回家过年,哼 拍照还是选择相册,没有处理 预览,选择图片的时候可以预览,但是回调之后并不行,没有处理 onActivityResult回调之后的图片不能直接删除...,没有处理 剪裁,没有处理 压缩,没有处理 哦对了,如果可以预览了,那还得可以保存图片呢,也没有处理,因为预览没有处理,哈哈哈嗝 已选择的图片,再次选择的时候带过去,没有处理 那有人就会说了,这么多没有的功能
(2019-07-05) 之前出过一篇 Android 选择图片、上传图片之ImagePicker,这个是okgo作者出的,就一般需求来讲是够了,但是没有压缩,需要自己去搞。...后来业务需求提升,页面要美,体验要好,便不是那么满足需求了,所幸在github上找到PictureSelector(然后当时没多久Matisse就开源了…可以看这里Android 选择图片、上传图片之Matisse...也不用自己再撸一个了,下面来介绍介绍PictureSelector github https://github.com/LuckSiege/PictureSelector 目前是一直在维护的,支持从相册或拍照选择图片或视频....maxSelectNum()// 最大图片选择数量 int .minSelectNum()// 最小选择数量 int .imageSpanCount(4)// 每行显示个数 int ....,默认jpeg .isZoomAnim(true)// 图片列表点击 缩放效果 默认true .sizeMultiplier(0.5f)// glide 加载图片大小 0~1之间 如设置 .glideOverride
效果图: 后来又出了两篇,也可以看一下 Android 选择图片、上传图片之PictureSelector Android 选择图片、上传图片之Matisse 添加依赖: 选择图片:compile...; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7....widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import...= 101; private ImagePickerAdapter adapter; private ArrayList selImageList; //当前选择的所有图片...private int maxImgCount = 8; //允许选择图片最大数 private HttpUtil httpUtil; @Override
二、定义爬取的目标网站和图片类型 百度图片网中存了很多类型的图片,本文以百度图片网作为目标网站,汽车图片作为图片类型进行代码探索。...登录百度图片网并搜索汽车图片的代码如下: input_pic_name = '汽车图片' #输入查找图片类型 browser = webdriver.Chrome(ChromeDriverManager...得到结果: 五、批量下载图片 最后写循环批量下载图片。...这里的关键是找到所有图片的xpath路径,并从路径中获取下载图片的链接,接着模拟点击下载即可。 所以首先要找出所有xpath路径的规律,并用循环的方式获取到所有路径。...get_pic(input_pic_name, num_pic/2) #批量获取对应图片 至此,应用Python批量爬取百度图库网中的图片已讲解完毕,如想了解更多Python中的函数,可以翻看公众号中
Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS); } else { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE...grantResults[0] == PackageManager.PERMISSION_GRANTED) { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE...} } 选取相册图片 private static final int IMAGE = 1; void choose_photo_layout_click() { //调用相册 Intent...intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI...String imagePath = c.getString(columnIndex); showImage(imagePath); c.close(); } } //加载图片
前言 大家可能都知道img标签是怎么设置默认图片的,但是你知道background-img是如何设置默认图片的嘛?...image.png img 图片的url地址" alt="图片描述" onerror="this.src='默认图片的url地址'"/> 这里是应用了img标签的onerror事件...,当加载失败就用默认图片地址。...更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。 2....5. 中的是关键字,主要是让开发人员知道这里应该放些什么内容。
DELEGATE.startActivityForResult (Intent.createChooser(intent, "选择获取图片的方式"),...RequestCodes { public static final int TAKE_PHOTO = 4;//拍照 public static final int PICK_PHOTO = 5;//选择图片..." android:gravity="center" android:text="从手机相册选择" android:textColor="#323232"...= null) { final Uri pickPath = data.getData();//拿到用户选择的图片的路径...//从相册选择后 需要有个路径 来存放 剪裁过的图片 final String pickCropPath = XiaoYunCamera.createCropFile
实际效果图: 代码实现: 权限配置 点击事件绑定 相册访问 根据路径设置图片 其他方法 权限 首先,现在 mainfest.xml 文件中添加以下权限: android...:name="android.permission.READ_EXTERNAL_STORAGE"/> android:name="android.permission.WRITE_EXTERNAL_STORAGE...int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //在相册里面选择好相片之后调回到现在的这个...getContentResolver().query(selectedImage, filePathColumn, null, null, null);//从系统表中查询指定...Toast.makeText(MainActivity.this,"fail to get image",Toast.LENGTH_SHORT).show(); } } 相关变量: //从相册获得图片
Android 4.4 之存储访问框架 首先,让我们从图片选择开始,使用隐式 Intent 跳转到图片选择: private void routeToGallery() { Intent intent...),简单来说就是 Android 提供了一个专门供用户访问资源的软件,将设备上所有可以访问资源的软件接口都整合到了一起,避免了用户只能选择一个特定软件的尴尬,在 Android 4.4 以下,我们发送刚才选取图片的隐式...Intent,效果是这样的,需要用户去选择使用哪个应用: 而从 Android 4.4 开始,就变成了这样: 直接打开一个资源选取的软件(这个软件平时是隐藏的,不会显示在软件列表中),其中包含了访问设备上所有可访问资源软件的接口...7.0 之 FileProvider 完成了图片的选择功能,转眼又碰到了一个问题: Android 为了提高私有文件的安全性,从 7.0 开始对外传递file://类型的uri会触发FileUriExposedException...当然,直接从之前指定的文件中读取数据也是可以的。
现在网页中图片随处可见,但避免不了有时会出现图片资源失败的情况,在谷歌浏览器中就会显示这样 这里的alt属性是为了当图片加载失败时告诉用户图片信息的...在装载文档或图像的过程中如果发生了错误,就会调用该事件句柄。...,而且图片加载失败也没什么问题,最多不显示,也可以以纯色背景作为默认占位图。...背景图片 还有一种方式,用到了css3中的多背景特性 div{ background:url(a.jpg), url(b.jpg), url(logo.png); } 指定的时候,按浏览器中显示时图像叠放的顺序从上往下指定的...所以在使用这种情况的时候,需要使用.jpg图片,避免走光 小结 以上介绍了三种设置默认图片的方式, 从兼容性方面来讲,js方法适应性最广,可以低版本兼容ie,其他两种就不行了,只需注意备用图片地址不要出错就可以了
这是属于我的第一篇博文,首先说明一下,文章属性为原创,其实不能说是原创,我是在学习的过程中根据自己的理解整理的。文章内容大多为书本上的内容,书本是郭霖的《第一行代码》。...正文:现在很多应用程序会调用摄像头的拍照功能,比如哪个程序要上传一张图片作为用户头像,这是启用摄像头拍照会很方便。当然,还有第二种方法,就是在本地图库选取已经被保存的图片。...e.printStackTrace(); } } break; case 3://本地图库选取图片后.../判断系统版本号,如果API>19,即Android 4.4版本以上用这个方法处理图片 if (Build.VERSION.SDK_INT >= 19) {...imagepath,然后我们会再提供一个方法将imagepath作为参数来显示图片 String imagepath = null; //android4.4以上的版本,
Android官方给我们提供的Html类下面的fromHtml方法 当你需要转换的HTML代码是带图片的,比如,那么你就需要使用到重载的第二个方法了,这个方法里面有个ImageGetter对象...,实现这个类会发现它回调了一个抽象getDrawable方法,在这个方法里,我们可以进行远程图片的下载获取,本地资源图片的获取等。...; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Html; import...android.text.Html.ImageGetter; import android.widget.TextView; public class MainActivity extends Activity...,则需要另写方法从网络中加载获得drawable图片 //对图片进行压缩(此处我采用原图) drawable.setBounds(0, 0
将一个图片文件写入到本地目录,然后去相册查看,会查找不到这个图片文件,但是去文件目录下查找,确确实实有该图片文件。...问题在于相册是一个独立的app,它并不会去刷新本地图片,所以需要在写图片文件成功之后,通知图库 // 通知相册有新图片 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
最近公司有一个选择图库的需求,需要支持图片和视频,网上找了很多,基本是16,17年的代码,大部分也是转载的内容,因为之前做过自定义拍照和相册,以及使用gpuImage实现滤镜、贴纸等效果,所以决定自己动手撸一个...已经有一年多没有写Android代码了,主要现在做前端去了,写这篇博客的目的也是为了方便之后自己查找。下面是实现的Android图库的效果,基本上是抄的微信的,如下图。...核心的实现很简单,就是自己写一个线程,去扫描本地的MediaStore实体类中的图片和视频,为了提高扫描的性能,我们将扫描的线程扔到线程池中,可以详细阅读ImageLoadTask、MediaLoadTask
具体实现 导入GalleryFinal源码 从GalleryFinal的Github仓库中拷贝仓库地址,使用git指令cloneGalleryFinal源代码到本地: git clone https...://github.com/pengjianbo/GalleryFinal.git 选择Android Studio菜单栏File->New->import Module......,将上述配置代码一齐贴上,下面的代码可放在跳转图片选择界面的按钮点击事件中。...3.注释掉源码中对图片数量上限的判断 无图选择时,点击浮动按钮可以返回 可能有人不解,为何不点击标题栏的返回按钮返回而要点击浮动按钮返回?...refreshSelectCount方法源码 从源码中可以看到,预览按钮的可见性判断逻辑仅仅与isEnablePreview有关,而没有和选中的图片数量进行关联,所以我们修改代码如下: public
在本教程中,您将学习如何使用Picasso安卓库从URL加载图像。 Picasso是一个开源的android库,由Square开发和维护。...以下是一些功能,使这个库成为从互联网加载图像的最佳选择。...---- 特征 易于使用,非常简化代码 自动内存和缓存管理 允许图像转换 您还可以使用Volley库,这是 Picasso 的绝佳选择。...---- 加载图片 我们只需键入一行代码即可加载图像。它可以通过以下方式完成。...代码 在这个例子中,我在点击按钮时从url加载图像。