当前位置:首页 » 安卓系统 » android缩放bitmap

android缩放bitmap

发布时间: 2025-05-06 23:59:27

① Android 编程 如何实现 文字放大效果 例如图片的放大和缩小的效果

这种功能需要使用print绘制,然后通过多点触控事件来自行计算用户是需要放大还是缩小,然后对应的去设置文字大小

② android 已经知道路径怎么将路径中的图片变成Bitmap

/**
* 获取本地图片并指定高度和宽度
*/
public static Bitmap getNativeImage(String imagePath)
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
// 获取这个图片的宽和高
Bitmap myBitmap = BitmapFactory.decodeFile(imagePath, options); //此时返回myBitmap为空
//计算缩放比
int be = (int)(options.outHeight / (float)200);
int ys = options.outHeight % 200;//求余数
float fe = ys / (float)200;
if (fe >= 0.5)
be = be + 1;
if (be <= 0)
be = 1;
options.inSampleSize = be;
//重新读入图片,注意这次要把options.inJustDecodeBounds 设为 false
options.inJustDecodeBounds = false;
myBitmap = BitmapFactory.decodeFile(imagePath, options);
return myBitmap;
}
/**
* 以最省内存的方式读取本地资源的图片 或者SDCard中的图片
* @param imagePath
* 图片在SDCard中的路径
* @return
*/
public static Bitmap getSDCardImg(String imagePath)
{
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
//获取资源图片
return BitmapFactory.decodeFile(imagePath, opt);
}

③ android bitmap 图片缩放问题

在使用Bitmap进行位图读取和显示的时候需要注意在生成位图时,系统会根据不同的情况来缩小、放大图像。
当把图片放到drawable文件夹中时,160密度的模拟器显示的图像有放大效果,240密度的模拟器显示原尺寸的图像。
当把图片放到drawable-hdpi文件夹中时,160密度的模拟器显示出的图像有缩小效果,240密度的模拟器显示原尺寸的图像。
当把图片放到drawable-mdpi文件夹中时,160密度的模拟器显示原尺寸的图像,240密度的模拟器显示放大的图像。
当把图片放到drawable-ldpi文件夹中时,160、240密度的模拟器都显示放大的图片。
由此可以看出,在使用Bitmap显示图像时,一般应放在drawable-hdpi文件夹中,这样可以根据屏幕的密度来调整图像大小,比如再做游戏时,大屏幕的与小屏幕的手机中,人物或物体应该有大小之分。望求采纳谢谢...

④ bitmap缩放到指定大小-android中怎么是bitmap缩小

如何对图片进行缩放到适应屏幕大小呀

/**显示图片,使用BitmapFactory()*path

*图片SD卡路径****/

privatevoidshow_Image(Stringpath){

//TODOAuto-generatedmethodstub

opts=new();

=2;//宽高设置成原来的1/2

Bitmapbit=newBitmapFactory().decodeFile(path,opts);

show_(bit);

还有很多属性,你去查查吧,另外如果非要适应屏幕大小的话,你还需要获取屏幕的大小,然后图片大小跟屏幕大小比较,没弄过一定要图片跟屏幕大小填充满的判空,就算填充满,一定也会失真

android中怎么是bitmap缩小

/**Bitmap放大的方法*/

privatestaticBitmapbig(Bitmapbitmap){

Matrixmatrix=newMatrix();

(1.5f,1.5f);//长和宽放大缩小的比例

BitmapresizeBmp=(bitmap,0,0,(),(),matrix,true);

returnresizeBmp;

}

这里放大缩小的方法都有:

android缩放和压缩的区别

android缩放和压缩图片可以如下解释亏蠢:

压缩图片

这里简单的将一个图片文件转换为Bitmap,并且在转换的过程中对图片质量进行简单压缩:

(,intquality,FileOutputStreamfos);

注意这里的quality的范围为0~100,经过测试如果这个值设置比较低的话图片会非常不清晰,基本不可用,0~100的值可以参考类似Photoshop之类输出图片时选择的图片质量.

此方法只是单纯对图片质量进行处理,并不会改变其大小,如果需要改变图片文件的大小,最好是使用缩放,这个可以在保证一定的图片清晰度的情况下减少了图片大小,毕竟手机屏幕就那么点,你把2000px*1000px的图片改为500px*250px在手机用户看来也不会有太严重的不适感,而如果你只设置图片的quality想来改变文件大小,你最后会发现得到的是一个2000px*1000px的几个色块.

缩放图片

先提代码看看:

[java]viewplain

/**

*保持长宽比缩小Bitmap

*

*@parambitmap

*@parammaxWidth

*@parammaxHeight

*@return

*/

publicBitmapresizeBitmap(Bitmapbitmap,intmaxWidth,intmaxHeight){

intoriginWidth=();

intoriginHeight=();

//noneedtoresize

if(originWidth<maxWidth&&originHeight<maxHeight){

returnbitmap;

}

intwidth=originWidth;

intheight=originHeight;

//若图片过宽,则保持长宽比缩放图片

if(originWidth>maxWidth){

width=maxWidth;

doublei=originWidth*1.0/maxWidth;

height=(int)(originHeight/i);

bitmap=(bitmap,width,height,false);

}

//若图片过长,则从上端截取

if(height>maxHeight){

height=maxHeight;

bitmap=(bitmap,0,0,width,height);

}

//Log.i(TAG,width+"width");

//Log.i(TAG,height+"height");

returnbitmap;

}

这里演掘空瞎示是将图片缩小到一个max范围内,而不是直接将变成硬性的变成某个尺寸的图片,因为一般来说这种设置max的方式符合大部分需要,如果必须将图片变成某个指定尺寸可以直接使用方法,也是下面要介绍的.

此函数主要就是使用了Bitmap的两个静态方法,一个是:

(Bitmapsrc,intdstWidth,intdstHeight,booleanfilter)

此方法就会把一个Bitmap图片缩放成指定的尺寸.

⑤ android图片压缩库-说说在Android中如何压缩图片

Android黑科技,图片终极压缩

一、支持自定义配置、不失真和批量处理

二、图片上传为什么要压缩

1、图片服务器空间限制,磁盘昂贵

2、网络不稳定,大文件需要断点续传

3、尽可能避免安卓OOM异常

4、后台约定的规则<200KB

5、需要上传原图的应用有医院临床项目、金融银行

三、图片压缩流程

1、递归每张图片

2、设置图片格式

png,jpg,webp

3、质量压缩(format,quality,baos)

由于png是无损压缩,所以设置quality无效(不适合作为缩略图)

采样率压缩

缩小图片分辨率,减少所占用磁盘空间和内存大小

缩放压缩(bitmap,null,rectF,null)

减少图片的像素,降低所占用磁盘空间大小和内存大小,可用于缓存缩略图

JNI调用JPEG库

Android的图片引擎使用的是阉割版的skia引擎,去掉了图片压缩中的哈夫曼算法

4、像素修复

5、返回压缩

6、完成压缩

demo:

参考:

Luban框架

缺点

1、当没有设定压缩路径时,抛异常无闪退

2、源码中,压缩比率固定值60,无法修改

3、压缩配置,参数不太适应真实项目需求

4、不能指定压缩大小,比如100KB以内

说说在Android中如何压缩图片

目前存在两种压缩图片方式:

而图片有三种存在形式:

bigmap在内存中的大小是按像素计算的,也就是width*height,所以如果需要在Android中显示照片,那么就必须进行按比例压缩,避免因为内存消耗过大,导致APP退出。

是不是很简单呀O(∩_∩)O哈哈~

Android图片压缩-大小与质量压缩以及图片保存

一、前言:

2.质量压缩

注意:

第二次压缩之前都要先清空();再进行压缩(,quality,baos);

有时候我们采用质量压缩没有效果,有可能是每次压缩的质量过小,所以我们可以尝试修改压缩质量(quality)是10;

quality压缩机提示,0-100。0表示压缩

小尺寸,100意味着最大质量的压缩。一些

格式,如无损的PNG,将忽略质量设定;

3.混合方式压缩

链接:

⑥ Android 图片加载(一)高效加载Bitmap 基础篇

由于Bitmap的特殊性以及Android对单个应用所规定的最大内存限制,我们在同时加载大量Bitmap时很容易发生内存溢出,即我们通常所说的OutOfMemoryError(OOM),因此高效加载Bitmap就成为了每个Android开发者的必备技能。

在学习如何高效地加载Bitmap之前,首先介绍一下如何加载一个Bitmap。我们都知道,Bitmap在Android中通常指的是一张图片,那么如何将JPG、PNG等格式的图片转换成Bitmap对象呢?BitmapFactory类给我们提供了一些方法:

接下来开始介绍如何高效地加载Bitmap,其实核心思想很简单: 就是采用BitmapFactory.Options参数来调整图片尺寸来适配控件的大小。

假如我们显示图片的控件ImageView宽高为100×100像素,而图片的尺寸为1024×1024像素,这个时候如果将整个图片加载进来并显示到控件上,自然是很占用内存资源的。这个时候可以通过BitmapFactory.Options按一定的采样率加载缩小后的图片,再将缩小后的图片显示到ImageView中,这样就能减小内存占用从而在一定程度上避免OOM的发生。

通过BitmapFactory.Options来缩放图片,主要是使用它的inSampleSize参数,也就是前面提到的采样率。当采样率inSampleSize为1时,采样后的图片大小为原图大小;当采样率inSampleSize>1,比如为2时,采样后的图片宽高都为原图的1/2,即像素降为原图的1/4,占用的内存大小也就是原图的1/4;比较特殊的是,当采样率inSampleSize<1时,系统会自动将该值当做1来处理。 因此可以得出一个结论:采样率inSampleSize必须是大于1的整数图片才会有缩小的效果,并且采样率同时作用于宽高,也就是说采样后的图片会缩小到原图的1/(inSampleSize^2)。比如inSampleSize=4,那么缩放比例为1/16。

我们现在知道了,通过采样率可以提高图片的加载效率,那么如何才能计算出最合适的采样率?我们可以按照如下流程:

接下来以decodeFile方法为例实现图片的缩放,其他三个方法处理方式类似。

下一篇: Android 图片加载(二)图片加载框架Glide 入门篇

《Android开发艺术探索》

热点内容
程序编程入门书籍推荐 发布:2025-05-07 03:40:32 浏览:448
数据库的配置信息 发布:2025-05-07 03:25:48 浏览:853
疯狂脚本 发布:2025-05-07 03:24:23 浏览:722
mysql存储过程怎么用 发布:2025-05-07 03:23:42 浏览:739
量子加密的 发布:2025-05-07 03:05:14 浏览:985
我的世界服务器新手进来就给礼物 发布:2025-05-07 03:05:13 浏览:517
视频压缩的方法 发布:2025-05-07 03:02:58 浏览:591
android优秀源码 发布:2025-05-07 02:59:19 浏览:591
酷我上传原创歌曲 发布:2025-05-07 02:53:21 浏览:418
库存压缩总结 发布:2025-05-07 02:53:16 浏览:383