1.通过传入图片url获取位图方法:
public Bitmap returnBitMap(String url) {
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
Log.v(tag, bitmap.toString());
return bitmap;
}
2.通过传入位图,新的宽.高比进行位图的缩放操作:
public static Drawable resizeImage(Bitmap bitmap, int w, int h) {
// load the origial Bitmap
Bitmap BitmapOrg = bitmap;
int width = BitmapOrg.getWidth();
int height = BitmapOrg.getHeight();
int newWidth = w;
int newHeight = h;
Log.v(tag, String.valueOf(width));
Log.v(tag, String.valueOf(height));
Log.v(tag, String.valueOf(newWidth));
Log.v(tag, String.valueOf(newHeight));
// calculate the scale
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the Bitmap
matrix.postScale(scaleWidth, scaleHeight);
// if you want to rotate the Bitmap
// matrix.postRotate(45);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,
height, matrix, true);
// make a Drawable from Bitmap to allow to set the Bitmap
// to the ImageView, ImageButton or what ever
return new BitmapDrawable(resizedBitmap);
}
分享到:
相关推荐
本主题聚焦于一个特定的C#应用:如何将指定的HTML网页转换为图片并保存到本地。这个功能在很多场景下都非常实用,比如网页快照、网页预览或者在没有浏览器环境下展示网页内容。 首先,实现这一功能需要了解几个关键...
SVG是一种矢量图格式,适用于需要高质量、可缩放的图形,而PNG则是一种位图格式,通常用于需要透明背景或者颜色丰富的场景。在某些情况下,我们可能需要将SVG图形转换为PNG格式,例如为了兼容不支持SVG的浏览器,...
最后,使用`SaveToFile`方法将位图保存为图片文件,如JPEG或PNG格式。 以上是通过Delphi生成网页缩略图的基本步骤,实际开发中可能还需要考虑错误处理、异步操作、性能优化等问题。例如,对于响应慢的网页,可以...
综上所述,从网络加载图片并显示在ImageView上涉及以下步骤: 1. 使用HttpURLConnection或第三方库进行网络请求。 2. 在后台线程处理网络请求,避免阻塞主线程。 3. 图片数据保存到本地文件系统。 4. 解码和缩放图片...
5. 如果需要生成新图片,可以对加载的图片进行一系列操作,如裁剪、缩放、旋转等,然后再保存为新的位图文件。 在实际应用中,"wgjytj.sln"可能是一个Visual Studio解决方案文件,而"wgjytj"可能是项目源代码文件,...
`ChartImageExporter.java`这个源码文件可能是AmCharts的Java后端部分,它可能负责接收前端发送的图表数据,然后将这些数据转换为图片并返回给前端。在Java端,可以使用如Apache Batik这样的库解析SVG,或者使用Java...
2. **解码**:将原始数据(如JPEG或PNG)转换为位图(Bitmap),这是最消耗内存的部分。 3. **缩放**:根据需要调整图片大小,避免加载过大的图像导致内存溢出。 4. **缓存**:将解码后的图片保存到内存或磁盘,以便...
内存缓存能快速响应用户操作,而磁盘缓存则可以保存长期不使用的图片。 - **线程管理**:库可能使用了线程池来管理下载和解码任务,确保并发数可控,避免过多线程导致的系统资源浪费。 - **图片下载器**:负责从...
如果需要对图像进行像素级别的操作,如改变颜色、缩放等,通常会用到Bitmap。 3. **流(Stream)**:在C#中,读取文件时经常使用Stream对象,如FileStream。Image类有一个静态方法`FromStream(Stream)`,可以从流中...
3. **图片裁剪和缩放**: Fresco 提供了图片处理接口,可以进行裁剪、缩放等操作。 4. **网络图片加载**: 直接使用 URL 加载网络图片,自动处理网络异常和重试。 5. **低内存设备优化**: 对于内存有限的设备,...
创建一个TIdHTTP或TFTP组件,设置URL或文件路径,然后调用其Get或Download方法来获取图片数据,最后将其保存到本地或直接加载到TImage组件中。 5. **自定义图标设计**:如果你需要为你的应用设计特定的图标,可以...
在Android应用开发中,图片加载是一项重要的任务,尤其是在处理大量图片或者大尺寸图片时,如果没有进行适当的优化,可能会导致内存溢出(Out Of Memory,简称OOM)问题,严重影响用户体验。Android异步图片加载就是...
6. **图片压缩**:为了节省内存和磁盘空间,Glide支持在加载图片时进行压缩,例如使用BitmapFactory.Options进行位图解码时的配置,可以调整缩放比例,避免加载大图导致内存溢出。 7. **异步加载**:Glide采用...
因此,可以考虑对图片进行缩放或压缩,减少内存占用。 10. **用户反馈**:在上传过程中,通过状态消息或者图标向用户反馈当前的操作状态,如“正在上传”、“上传成功”或“上传失败”。 通过掌握以上知识点,我们...
例如,可能需要将图片缩放到特定尺寸,调整色彩平衡,或者应用某种特效。处理后的图像可以保存回本地,也可以直接在网络上传输。 总之,FreeImage是一个强大的工具,对于需要处理大量图像的项目,尤其是在资源有限...
在IT领域,图片切换效果是网页设计和交互体验中常见的一种功能,用于展示多张图片并以各种动画方式切换。本资源"Flash图片切换效果"提供了一种利用Adobe Flash技术实现这一功能的方法。Flash,虽然在当前HTML5盛行的...
- **预加载**:预测用户可能滚动到的图片并提前加载。 - **监听回调**:注册图片加载状态的回调,以便处理加载失败等情况。 - **使用库的高级功能**:许多图片加载库提供了如圆角、模糊、动画等效果,可以根据...
5. **保存裁剪结果**:为了保存用户裁剪后的图片,可以使用HTML5的`canvas`元素,将裁剪区域的SVG路径转化为canvas的裁剪区域,然后使用`toDataURL()`方法将canvas内容转换为Base64编码的URL,从而实现图片下载或...
5. **性能优化**:可能使用了位图缩放技术,根据ImageView的实际大小来加载适当尺寸的图片,减少内存占用。 在"AyncImageLoader-master"源码中,我们可以学习如何实现这些功能。例如,可能会有一个专门的`...
8. 性能优化:由于可能会处理大量大尺寸的图像,性能优化是必不可少的,如使用位图操作代替画布操作,合理使用内存,以及异步处理图像以避免阻塞UI线程。 9. 数据持久化:用户可能会保存他们的编辑历史或作品,所以...