首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从drawable中获取原始大小的位图

,可以通过以下步骤实现:

  1. 首先,需要获取到Drawable对象,可以使用ContextCompat.getDrawable()方法来获取。例如,如果你的Drawable资源位于R.drawable.my_image,可以使用以下代码获取Drawable对象:
代码语言:txt
复制
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.my_image);
  1. 接下来,需要将Drawable对象转换为Bitmap对象。可以使用BitmapFactory类的decodeResource()方法来实现。例如:
代码语言:txt
复制
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
  1. 现在,你已经得到了原始大小的位图。你可以使用bitmap对象进行进一步的处理,如显示在ImageView中、保存到本地等。

需要注意的是,以上方法获取的位图是原始大小的,即与Drawable资源的像素大小一致。如果你需要对位图进行缩放或其他处理,可以使用Bitmap类提供的方法来实现。

在腾讯云的相关产品中,可以使用腾讯云的图片处理服务来对获取的位图进行处理和存储。腾讯云的图片处理服务可以帮助你对图片进行裁剪、缩放、旋转等操作,并提供了丰富的参数和接口供开发者使用。你可以参考腾讯云图片处理服务的文档来了解更多详情:腾讯云图片处理服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决SVN无法从原始内容仓库中安装的问题

在使用SVN(Subversion)进行版本控制时,有时会遇到无法从原始内容仓库中安装的问题。这种问题通常会导致无法拉取分支或更新代码,可能会给开发过程带来不便。...本文将介绍一种解决这种问题的方法,即清空本地SQLite数据库中的工作队列表(WORK_QUEUE),以恢复SVN的正常功能。...问题描述在使用SVN创建分支后,尝试拉取分支代码时,可能会遇到以下错误信息:svn没有校验和记录,因此不能从原始内容仓库中安装即使使用SVN清理工具进行清理,问题仍然存在。...解决方法以下是解决这个问题的步骤:定位本地SVN工作副本在遇到问题的项目目录中,找到.svn隐藏目录,该目录存储了SVN的元数据信息。通常情况下,这个目录位于项目根目录下。...清空WORK_QUEUE表数据在打开的SQLite数据库中,找到名为WORK_QUEUE的表格,并清空其中的所有数据。可以通过执行SQL命令 DELETE FROM WORK_QUEUE; 来实现。

65810

从损坏的手机中获取数据

比如粉碎、射击手机或是直接扔进水里,但取证专家仍然可以找到手机里的证据。 如何获取损坏了的手机中的数据呢? ?...然后,他们自己或外部专家进行了数据提取,以此测试,提取的数据是否与原始数据完全匹配,并且没有任何变化。 方法 为了使研究准确,研究人员不能将大量数据直接打包到手机上。...要知道,在过去,专家们通常是将芯片轻轻地从板上拔下来并将它们放入芯片读取器中来实现数据获取的,但是金属引脚很细。一旦损坏它们,则获取数据就会变得非常困难甚至失败。 ?...图2:数字取证专家通常可以使用JTAG方法从损坏的手机中提取数据 数据提取 几年前,专家发现,与其将芯片直接从电路板上拉下来,不如像从导线上剥去绝缘层一样,将它们放在车床上,磨掉板的另一面,直到引脚暴露出来...数据提取完成后,Ayers和Reyes-Rodriguez使用了八种不同的取证软件工具来提取原始数据、生成联系人、位置、文本、照片和社交媒体数据等。

10.2K10
  • 安卓 Bitmap 和 Drawable 的使用

    ,然而,如果你打算把调整过大小的图片缓存到磁盘上,设置为2也能够很有效的节省缓存的空间....Bitmap 在内存当中占用的大小其实取决于: 色彩格式,前面我们已经提到,如果是 ARGB8888 那么就是一个像素4个字节,如果是 RGB565 那就是2个字节 原始文件存放的资源目录(是 hdpi...通道 ARGB_4444 这个从API 13开始不建议使用,因为质量太差 Drawable 的使用 BitmapDrawable 表示一张图片。...和 Bitmap 的区别 Bitmap - 称作位图,一般位图的文件格式后缀为 bmp,当然编码器也有很多如RGB565、RGB888。...技巧:EditText 在右侧添加删除图标 更换 radiobutton 中的图片在 xml 中很好设置,但对于初学者如何在代码中设置还是不容易找的。

    1.2K10

    为何大厂的图片不会OOM?

    从相应的输入流中解析出来bitmap信息; ?...() 方法获取 该Bitmap 的相关字节大小,比如以下代码: ?...在回头看我们上面那个问题,为什么图片原始宽高跟bitmap宽高不等,从我们打印的日志可知我们设备density=1.5 densityDpi=240,而图片放在drawable-mdpi , 该bitmap...assets 中的图片大小 我们知道,Android 中的图片不仅可以保存在 drawable 目录中,还可以保存在 assets 目录下,然后通过 AssetManager 获取图片的输入流。...获取option中的预加载bitmap的大小,然后根据位图存储格式计算预加载的bitmap大小,最后返回比较结果, 这里默认采用ARGB_8888所以✖️4; 如果预加载的bitmap所占内存大小<=被复用

    1.1K20

    duilib中获取的控件的位置或者大小不对的可能的原因

    duilib初学者可能总会有这样的疑问:为什么我获取的控件位置或者大小和我想象中的不一样?...位置不一样可能的原因: 1.xml中直接配置的位置和实际显示之后的位置确实是不一样的.xml中设置的位置(相对或绝对)都是基于他的父控件左上角.而实际显示之后获取的位置,是基于整个客户区的左上角; 2....控件的位置的计算都是在WM_PAINT消息处理中进行的,在这个消息处理之前,获取到的位置都是旧的; 大小不一样可能的原因: 1.参考上面第2条,大小的计算也是在WM_PAINT消息处理中进行的; 2.有其他你忽略的干扰项....比如子控件采用相对布局时父控件有inset,或者父控件的大小有限; 3.可能只是因为其他控件的遮盖或者超出了父控件而不显示,看起来大小不对;

    1.8K40

    Android图片加载框架最全解析(八),带你全面了解Glide 4的用法

    占位图 观察刚才加载网络图片的效果,你会发现,点击了Load Image按钮之后,要稍微等一会图片才会显示出来。这其实很容易理解,因为从网络上下载图片本来就是需要时间的。...这里我们先创建了一个RequestOptions对象,然后调用它的placeholder()方法来指定占位图,再将占位图片的资源id传入到这个方法中。...实际上,使用Glide在大多数情况下我们都是不需要指定图片大小的,因为Glide会自动根据ImageView的大小来决定图片的大小,以此保证图片不会占用过多的内存从而引发OOM。...在onResourceReady()方法中,我们就可以获取到Glide加载出来的图片对象了,也就是方法参数中传过来的Drawable对象。...图片变换 图片变换的意思就是说,Glide从加载了原始图片到最终展示给用户之前,又进行了一些变换处理,从而能够实现一些更加丰富的图片效果,如图片圆角化、圆形化、模糊化等等。

    2.7K70

    Bitmap图片压缩,大图加载防止OOM

    读取位图尺寸和类型 BitmapFactory 类提供了几种用于从各种来源创建 Bitmap 的解码方法(decodeByteArray()、decodeFile()、decodeResource()等...[format,png#pic_center] 例如,如果您有一个可绘制位图资源,它在中密度屏幕上的大小为 48x48 像素,那么它在其他各种密度的屏幕上的大小应该为: 36x36 (0.75x) -...实测:1520 x 2688 大小为 334.28KB 图片,屏幕密度为480的手机; 放在 drawable-xxdpi 下加载到 Bitmap 中占用内存为 16343040(1520*2688*4...(加载到堆内存时已经缩放了大小了,.9图 会忽略此标志) inDensity:加载图片的原始宽度,如果此密度与 inTargetDensity 不匹配,则在返回 Bitmap前会将它缩放至目标密度。...前面讲述的计算 Bitmap 大小的第二个例子,就是将相同图片加载放到不同的 drawable-dpi 的文件目录下去加载到内存中的 Bitmap 大小不同,其原因就是 inDensity 和 inTargetDensity

    2.8K00

    Bitmap图片压缩,大图加载防止OOM

    在这里插入图片描述 前言 Android官网中处理位图 和 高效加载大型位图 这两篇文章中已经做了很明确指出了如何高效的加载大图。...读取位图尺寸和类型 BitmapFactory 类提供了几种用于从各种来源创建 Bitmap 的解码方法(decodeByteArray()、decodeFile()、decodeResource()等...image 例如,如果您有一个可绘制位图资源,它在中密度屏幕上的大小为 48x48 像素,那么它在其他各种密度的屏幕上的大小应该为: 36x36 (0.75x) - 低密度 (ldpi) 48x48(1.0x...实测:1520 x 2688 大小为 334.28KB 图片,屏幕密度为480的手机; 放在 drawable-xxdpi 下加载到 Bitmap 中占用内存为 16343040(1520*2688*4...前面讲述的计算 Bitmap 大小的第二个例子,就是将相同图片加载放到不同的 drawable-dpi 的文件目录下去加载到内存中的 Bitmap 大小不同,其原因就是 inDensity 和 inTargetDensity

    2K20

    Android-Bitmap

    而当我们通过代码,将这张图片加载进内存时,会先解析图片文件本身的数据格式,然后还原为位图,也就是 Bitmap 对象,Bitmap 的大小取决于像素点的数据格式以及分辨率两个因素。...所以,一张 png 或者 jpg 格式的图片大小,跟这张图片加载进内存所占用的大小完全是两回事。但图片在内存中的大小和Bitmap大小相同 1.2.问题二: 如何计算图片在内存中的大小?...16位图像相比8位图像有较好的色彩过渡,更加细腻,携带的色彩信息可以更加丰富。其他位类同。 如果一个8位图像有10MB大小,它变成16时,大小就要翻一翻变成20MB。其他位类同。..., "获取Bitmap的宽为:"+bitmap.getWidth()+"获取Bitmap的高为:"+bitmap.getHeight() ); Log.e(TAG, "获取图片所在的Drawable...()+"获取图片所在控件的高为:"+mImageView.getHeight()); } 将图片放在drawable-xdip结果: ?

    1.4K20

    Android入门教程 | res资源目录简介与shape的绘制和使用

    drawable/:位图文件(.png、.9.png、.jpg、.gif)或编译为以下可绘制对象资源子类型的 XML 文件: 位图文件、九宫格(可调整大小的位图)、状态列表、形状、动画可绘制对象、其他可绘制对象...mipmap/:适用于不同启动器图标密度的可绘制对象文件。应用图标放这里。 mipmap后面跟着的dpi类别,比如hdpi mdpi,里面的图标尺寸大小是不同的。...可以参考默认图标的大小,来切App的图标。如果要省事,可以用一个图标复制进各个目录中。 layout/: 用于定义用户界面布局的 XML 文件。放 layout 文件。...menu/: 用于定义应用菜单(如选项菜单、上下文菜单或子菜单)的 XML 文件。 raw/:需以原始形式保存的任意文件。...比如位图文件(.png、.9.png、.jpg、.gif);或一些可绘制对象资源子类型的 XML 文件(本文称为drawable文件)。

    1.5K20

    Bitmap 详解

    能获取内部宽/高 图片Drawable其内部宽高就是图片的宽高 颜色Drawable没有内部宽高的概念 内部宽高不等同于他的大小,一般Drawable没有大小概念(作为View背景时...Bitmap: decodeFile 从文件系统加载 通过Intent打开本地图片或照片 在onActivityResult中获取图片uri 根据uri获取图片的路径 根据路径解析bitmap...1时才会有效果,且采样率同时作用于宽和高;   当inSampleSize=1时,采样后的图片为图片的原始大小   当inSampleSize=2时,采样后的图片的宽高均为原始图片宽高的1/2,这时像素为原始图片的...true时,执行decodeXXX方法时,BitmapFactory只会解析图片的原始宽高信息,并不会真正的加载图片   从BitmapFacpry.Options取出图片的原始宽高(outWidth,...转换成drawable Drawable newBitmapDrawable = new BitmapDrawable(bitmap); 还可以从BitmapDrawable中获取Bitmap对象

    2.1K20

    android学习笔记----关于图形的基本处理讲解

    ,在API 17之前通过反射获取 // 获取显示的实际大小,而不减去任何窗口装饰或应用任何兼容性缩放因子。...样本大小是任一维度中与解码位图中的单个像素相对应的像素数。例如,inSampleSize == 4返回的图像是原始宽度/高度的1/4,像素数量的1/16。...注意:并非所有Formats都直接支持所有位图配置,因此BitmapFactory返回的位图可能位于不同的bitdepth中,和/或可能丢失了每像素alpha(例如,JPEG仅支持不透明像素)。...,在API 17之前通过反射获取 // 获取显示的实际大小,而不减去任何窗口装饰或应用任何兼容性缩放因子。...文件夹设置得不对,那么获取的值就不是这个,而是对应比例的缩放 // 但是还是会因为机型屏幕改变其大小去显示(因为dpi每英寸像素密度不同) // 这就是可能出现获得bitmap.getwidth

    65220

    深入理解Glide(1)——Glide的使用

    在Android开发过程中,我们常常需要涉及大量的图片加载,图片加载框架设计,是Android高级开发工程师必备的技能,本节将通过分析Glide图片加载框架,来学习如何设计一个图片加载框架。...2.load:重载方法,可传入图片地址的Uri,本地资源id等 3.into:参数为一个ImageView或Taget对象 占位图设置 为了给用户更好的体验,在图片还未加载出来时候,我们一般会设置一张占位图...//设置占位图 RequestOptions options = new RequestOptions().placeholder(R.drawable.ic_launcher_background...指定图片大小 Glide默认会根据ImageView的大小决定图片的大小,保证图片不会导致OOM,但我们还可以在加载时候就指定图片大小 RequestOptions options = new RequestOptions...true,那么就会不会回调到Glide的Target中的onResourceReady()方法了。

    76240

    高效利用Bitmap

    屏幕的densityDpi值就是160 缩放系数 Options类中存在一个inScaled参数,这个参数表示是否支持缩放,我们从Options的默然构造方法中可以看到这个参数被初始化为了true,也就是说默认是支持缩放的...关于缩放系数的计算方法,其实我们在讲解如何计算内存中Bitmap的大小时已经介绍过了。缩放系数就是inTargetDensity除以inDensity。...也就是说,采样后的大小等于原始大小除以采样率的平方。官方文档规定,inSampleSize的值应为2的非负整数次幂(1,2,4,… ),否则会被系统向下取整并找到一个最接近的值。...通过设置inSampleSize我们就能够将图片缩放到一个合理的大小 4 Bitmap优化 1.获取图片的原始宽高 通过将Options的inJustDecodeBounds属性设为true后调用decodeResource...方法,可以实现不真正加载图片而只是获取图片的尺寸信息 ?

    69030

    Android图片加载框架最全解析(一),Glide的基本用法

    也没关系,我们可以获取当前应用程序的ApplicationContext,传入到with()方法当中。...当然可以,Glide提供了各种各样非常丰富的API支持,其中就包括了占位图功能。 顾名思义,占位图就是指在图片的加载过程中,我们先显示一张临时的图片,等图片加载出来了再替换成要加载的图片。...我们只是在刚才的三步走之间插入了一个placeholder()方法,然后将占位图片的资源id传入到这个方法中即可。...也正是因为Glide是如此的智能,所以刚才在开始的时候我就说了,在绝大多数情况下我们都是不需要指定图片大小的,因为Glide会自动根据ImageView的大小来决定图片的大小。...感兴趣的朋友请继续阅读 Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程 。

    2.2K110

    Glide-图片加载框架全解(一)- 基本用法

    “最近项目中需要把Glide封装库的Glide从3.x升级到4.x,所以先全面学习了一波Glide——郭霖的Glide系列文章。...也没关系,我们可以获取当前应用程序的ApplicationContext,传入到with()方法当中。...当然可以,Glide提供了各种各样非常丰富的API支持,其中就包括了占位图功能。 顾名思义,占位图就是指在图片的加载过程中,我们先显示一张临时的图片,等图片加载出来了再替换成要加载的图片。...我们只是在刚才的三步走之间插入了一个placeholder()方法,然后将占位图片的资源id传入到这个方法中即可。...感兴趣的朋友请继续阅读 Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程 。

    1.1K10

    Android训练课程(Android Training) - 高效的显示图片

    在UI线程外处理位图(Processing Bitmaps Off the UI Thread) 位图处理(调整大小,从远程资源下载等)不应该占用主UI线程。...另外 在 Android 3.0 (API 级别 11)之前,一个位图的后台数据被存放在原始内存中,它不能以可预见的方式被释放,它潜在性的导致一个应用临时的超出它的内存限制而崩溃。...当然,从磁盘缓存中提取图像相比较于从内存中来说是较慢的,并且最好在后台任务中处理,磁盘读取次数可能不可预知。...(比如改变大小或者从网络中提出图像)运行在 BitmapWorkerTask 中,不会影响主UI线程的响应性。...如果后台线程要很多次直接从磁盘中加载图像,那么添加一个内存或者磁盘缓存是很有益的,像课程 缓存位图 中描述的那样。

    2.9K00
    领券