Notice the black pixels along the borders. The ones on the top and left borders indicate the places where the image can be stretched, and the ones on the right and bottom borders indicate where the content should be placed.
// Get the source image's dimensions
BitmapFactory.Options options = new BitmapFactory.Options();
// This does not download the actual image, just downloads headers.
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(IMAGE_FILE_URL, options);
// The actual width of the image.
int srcWidth = options.outWidth;
// The actual height of the image.
int srcHeight = options.outHeight;
// Only scale if the source is bigger than the width of the destination view.
if(desiredWidth > srcWidth)
desiredWidth = srcWidth;
// Calculate the correct inSampleSize/scale value. This helps reduce memory use. It should be a power of 2.
int inSampleSize = 1;
while(srcWidth / 2 > desiredWidth){
srcWidth /= 2;
srcHeight /= 2;
inSampleSize *= 2;
}
float desiredScale = (float) desiredWidth / srcWidth;
// Decode with inSampleSize
options.inJustDecodeBounds = false;
options.inDither = false;
options.inSampleSize = inSampleSize;
options.inScaled = false;
// Ensures the image stays as a 32-bit ARGB_8888 image.
// This preserves image quality.
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap sampledSrcBitmap = BitmapFactory.decodeFile(IMAGE_FILE_URL, options);
// Resize
Matrix matrix = new Matrix();
matrix.postScale(desiredScale, desiredScale);
Bitmap scaledBitmap = Bitmap.createBitmap(sampledSrcBitmap, 0, 0,
sampledSrcBitmap.getWidth(), sampledSrcBitmap.getHeight(), matrix, true);
sampledSrcBitmap = null;
// Save
FileOutputStream out = new FileOutputStream(LOCAL_PATH_TO_STORE_IMAGE);
scaledBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
scaledBitmap = null;
分享到:
相关推荐
根据url和图片左上右下两点坐标裁剪图片并返回base64格式字符串,java工具类,适用于人脸识别
在Android应用开发中,`.9.png`是一种特殊格式的图片,用于解决图形在不同尺寸屏幕拉伸时出现的失真问题。`.9.png`,又称9patch或点九图,是一种可伸缩的位图,它允许开发者指定图片的哪些部分应该在拉伸时保持不变...
在某些版本的Windows中,还可以通过从屏幕左上角向右下角拖动鼠标来自动排列图标。 21. "记事本"的基本功能是什么? "记事本"是文字处理工具,用于创建和编辑纯文本文件。 22. 快捷方式的正确描述是什么? 快捷...
打开books.google.com,查看任意图书时,浏览器左上角会出现下载按钮。之后,下载所有页面图片,使用PDF制作软件整合成PDF格式。 ### 4. 方法三:直接下载PDF或EPUB格式 部分图书在页面右上角提供download按钮,...
matlab改变GUI和figure左上角图标的方法并生成exe文件-修改Matlab Figure图标的方法.rar 1. GUI左上角图标的更改,假设GUI的Tag为figure1,在其OpeningFcn里添加 h = handles.figure1; %返回其句柄 newIcon = ...
左上到右下遍历元素.cpp
Picasso – Android系统的图片下载和缓存类库 Picasso 是Square开源的一个用于Android系统下载和缓存图片的项目。该项目和其他一些下载图片项目的主要区别之一是:使用4.0+系统上的HTTP缓存来代替磁盘缓存。 ...
2. **保存和导入**:编辑完成后,保存这个带黑线标记的PNG图片,将其重命名为`.9.png`格式,并将其放入项目的`res/drawable`目录下。如果缺少黑线标记,Eclipse或Android Studio会提示错误,因为这是识别Nine-Patch...
给定一个N x N 的数字矩阵, 每个点都有一个正整数(大小为0-9),从左上角出发, 每次只能向右或者向下移动一个单位,直到走到右下角为止。求得一条路线,使得这条路线上的数字和最小。 输入: 第一行输入 N 表示...
这部分要求学生准备信纸和信封,并按照以下步骤操作: 1. 在信件顶部写上日期。 2. 在信件底部写上你的名字。 3. 在信件左上角画一本书。 4. 在信件右下角画一支铅笔。 5. 至少写5句给母亲的话。 6. 把信封涂成蓝色...
检查本地音频设备是否连接正常,是 否被其他程序占用(如QQ、MSN)、检查通告区域的扬声器图标(屏幕右下角的小喇叭)、检查属性设置,音量-选项-属性-录音,是否勾选MICROPHONE、检查左上角,普通-设置-音频,是否...
9. **常见问题及解决方法** - 如果遇到连接问题,检查网络连接和服务器状态,有时可能只是配置过程中的暂时延迟。 - 如果文件找不到,可能是同步延迟导致的,可以通过手动上传特定文件或全量同步来解决。 - 保持...
解决方法是重新设置登录区域内容,并清除缓存。 5. e8 升级 e9 后登录前门户设置同预览不一致 在e8升级到e9后,登录前门户设置可能与预览不一致。这可能是由于升级过程中的配置问题,解决方法是重新配置门户设置。...
在Android开发中,9patch(也称为.9.png)是一种特殊的图像格式,用于创建可拉伸的用户界面元素。9patch图片技术是Android原生提供的一种优化UI设计的方法,能够帮助开发者实现灵活、自适应的界面布局。在这个"draw9...
"从左上角斜切换出来的图片特效"是一种常见的动态效果,常用于展示新内容或者进行页面过渡,它使得图像的出现更加生动和有趣。这种特效通常通过编程或使用图形设计软件来实现。 1. **CSS3动画**: CSS3是CSS的最新...
JavaScript代码固定图片在页面左上角 JavaScript是一种广泛应用于Web开发的脚本语言,用于实现客户端的交互功能。在Web开发中,JavaScript常用于图片的处理和操作。在本文中,我们将讨论如何使用JavaScript代码将...
浏览器缓存是互联网浏览中的一个重要组成部分,它能够存储网页的静态资源,如图片、JavaScript 文件和CSS样式表等,以便用户在再次访问同一网页时能快速加载,提高网页加载速度,减轻服务器负担。然而,当网页内容...
### Python Button 选取本地图片并显示的实例解析 #### 一、引言 在图形用户界面(GUI)应用开发中,经常会遇到需要用户选择文件或图片的情况。Python 的 `Tkinter` 库作为标准的 GUI 工具包,提供了丰富的功能来...
本案例的主题是“openlayers加载本地离线底图瓦片google数据直接运行即可”,这意味着我们可以通过OpenLayers加载已经下载好的Google Maps离线瓦片数据。离线地图瓦片是一种将大型地图分割成许多小块图片(通常为256...
在本文中,我们将深入探讨如何使用C#编程语言来实现抓取屏幕左上角的图片这一功能。这个任务涉及到屏幕捕获技术,是图形用户界面(GUI)开发中常见的需求,例如用于截图软件或者游戏录制工具。让我们一起探索C#中的...