网站建设资讯

NEWS

网站建设资讯

android图片大小,安卓照片大小设置

Android 中图片的内存大小计算

我们都知道颜色经常用ARGB来表示,A表示Alpha,即透明度;R表示red,即红色;G表示green,即绿色;B表示blue,即蓝色。Bitmap的色彩也是用ARGB来表示的

为下城等地区用户提供了全套网页设计制作服务,及下城网站建设行业解决方案。主营业务为网站设计制作、成都网站制作、下城网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

我们都知道在Android 中,图片最终是一bitmap 的方式表示,那么Android中,一张图片的内存大小改怎么计算呢,首先我们了解几个概念

弄清了这几个概念,那么我们就可以计算不同图片格式的的内存占用大小,假设有一张480x800的图片

四个格式下所占的内存如下

那么在图片占用空间上,按照上面的理解,是不是说图片分辨率一样,所占的内存空间就是一样呢?

其实,如果要理解这个问题,我们其实要了解图片占用的硬盘空间和内存空间两个概念

那么这个是怎么得来的呢? 按照内存大 计算方式,分辨率一样,占用的大小应该是一样的,为什么图片一和图片二 同样都是1920 * 1080 的图片,占用硬盘空间差异这么大, 图片一占用到1.25M 图片二占用268K,这是为什么呢,影响愿意有二.

ok,本篇文章完

android中如何动态修改ImageView中图片的大小 比如说点击该图片后图片能变大

使用位图(Bitmap)再重新绘制遍

//原位图

Bitmap btm1 = BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.hh);

BitmapDrawable bd1=BitmapDrawable(btm1);

imageView.setBackgroundDrawable(bd1);

放大后 滑动时计算 图片的边是否在屏幕外,如果在屏幕外就可移动,比如 向上滑动,是想看图片下面的部分,此时计算图片的底边是否在屏幕外,如果是,就可以向上移动图片。

Scaletype的设置的方式包括:

1、在layout xml中定义android:scaleType="CENTER"

2、或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);

扩展资料:

根据位深度,可将位图分为1、4、8、16、24及32位图像等。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就越逼真,相应的数据量越大。

例如,位深度为 1 的像素位图只有两个可能的值(黑色和白色),所以又称为二值位图。位深度为 8 的图像有 2^8(即 256)个可能的值。位深度为 8 的灰度模式图像有 256 个可能的灰色值。

RGB图像由三个颜色通道组成。8 位/通道的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。

有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。通常将使用24位RGB组合数据位表示的的位图称为真彩色位图。

参考资料来源:百度百科-Bitmap

android怎么获取图片的大小

1、控制大小和位置

/*

* 获取对话框的窗口对象及参数对象以修改对话框的布局设置,

* 可以直接调用getWindow(),表示获得这个Activity的Window

* 对象,这样这可以以同样的方式改变这个Activity的属性.

*/

Window dialogWindow = dialog.getWindow();

WindowManager.LayoutParams lp = dialogWindow.getAttributes();

dialogWindow.setGravity(Gravity.LEFT | Gravity.TOP);

/*

* lp.x与lp.y表示相对于原始位置的偏移.

* 当参数值包含Gravity.LEFT时,对话框出现在左边,所以lp.x就表示相对左边的偏移,负值忽略.

* 当参数值包含Gravity.RIGHT时,对话框出现在右边,所以lp.x就表示相对右边的偏移,负值忽略.

* 当参数值包含Gravity.TOP时,对话框出现在上边,所以lp.y就表示相对上边的偏移,负值忽略.

* 当参数值包含Gravity.BOTTOM时,对话框出现在下边,所以lp.y就表示相对下边的偏移,负值忽略.

* 当参数值包含Gravity.CENTER_HORIZONTAL时

* ,对话框水平居中,所以lp.x就表示在水平居中的位置移动lp.x像素,正值向右移动,负值向左移动.

* 当参数值包含Gravity.CENTER_VERTICAL时

* ,对话框垂直居中,所以lp.y就表示在垂直居中的位置移动lp.y像素,正值向右移动,负值向左移动.

* gravity的默认值为Gravity.CENTER,即Gravity.CENTER_HORIZONTAL |

* Gravity.CENTER_VERTICAL.

*

* 本来setGravity的参数值为Gravity.LEFT | Gravity.TOP时对话框应出现在程序的左上角,但在

* 我手机上测试时发现距左边与上边都有一小段距离,而且垂直坐标把程序标题栏也计算在内了,

* Gravity.LEFT, Gravity.TOP, Gravity.BOTTOM与Gravity.RIGHT都是如此,据边界有一小段距离

*/

lp.x = 100; // 新位置X坐标

lp.y = 100; // 新位置Y坐标

lp.width = 300; // 宽度

lp.height = 300; // 高度

lp.alpha = 0.7f; // 透明度

// 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes

// dialog.onWindowAttributesChanged(lp);

dialogWindow.setAttributes(lp);

/*

* 将对话框的大小按屏幕大小的百分比设置

*/

// WindowManager m = getWindowManager();

// Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用

// WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参数值

// p.height = (int) (d.getHeight() * 0.6); // 高度设置为屏幕的0.6

// p.width = (int) (d.getWidth() * 0.65); // 宽度设置为屏幕的0.95

// dialogWindow.setAttributes(p);


本文名称:android图片大小,安卓照片大小设置
标题路径:http://njwzjz.com/article/hodgpe.html