android的图片加载和伸缩处理
来源:互联网 发布:linux文件系统结构 编辑:程序博客网 时间:2024/04/29 12:01
public class GraphicUtils {
/***
* 加载本地图片
* @param context:主运行函数实例
* @param bitAdress:图片地址,一般指向R下的drawable目录
* @return
*/
public final Bitmap CreatImage(Context context, int bitAdress) {
Bitmap bitmaptemp = null;
bitmaptemp = BitmapFactory.decodeResource(context.getResources(),bitAdress);
return bitmaptemp;
}
/***
* 加载本地图片
* @param url:图片地址,手机目录
* @return
*/
public final Bitmap CreateBitmapFromLocal(String url) {
try {
if(url == "")
return null;
FileInputStream fis = new FileInputStream(url);
return BitmapFactory.decodeStream(fis); ///把流转化为Bitmap图片
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
//图片平均分割方法,将大图平均分割为N行N列,方便用户使用
/***
* 图片分割
* @param g
* :画布
* @param paint
*:画笔
* @param imgBit
*:图片
*@param x
*:X轴起点坐标
* @param y
*:Y轴起点坐标
* @param w
* :单一图片的宽度
* @param h
*:单一图片的高度
* @param line
*:第几列
* @param row
* :第几行
*/
public final void cuteImage(Canvas g, Paint paint, Bitmap imgBit, int x,
int y, int w, int h, int line, int row) {
g.clipRect(x, y, x + w, h + y);
g.drawBitmap(imgBit, x - line * w, y - row * h, paint);
g.restore();
}
//图片缩放,对当前图片进行缩放处理
/***
* 图片的缩放方法
* * @param bgimage
*:源图片资源
* @param newWidth
*:缩放后宽度
* @param newHeight
*:缩放后高度
* @return
*/
public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {
// 获取这个图片的宽和高
if(bgimage == null){
return null;
}
int width = bgimage.getWidth();
int height = bgimage.getHeight();
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
// 计算缩放率,新尺寸除原始尺寸
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// 缩放图片动作
matrix.postScale(scaleWidth, scaleHeight);
Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,
matrix, true);
return bitmap;
}
//4.绘制带有边框的文字,一般在游戏中起文字的美化作用
/**
* 绘制带有边框的文字
* @param strMsg
* :绘制内容
* @param g
*:画布
* @param paint
*:画笔
* @param setx
*:X轴起始坐标
* @param sety
*:Y轴的起始坐标
* @param fg
*:前景色
* @param bg
* :背景色
*/
public void drawText(String strMsg, Canvas g, Paint paint, int setx,
int sety, int fg, int bg) {
paint.setColor(bg);
g.drawText(strMsg, setx + 1, sety, paint);
g.drawText(strMsg, setx, sety - 1, paint);
g.drawText(strMsg, setx, sety + 1, paint);
g.drawText(strMsg, setx - 1, sety, paint);
paint.setColor(fg);
g.drawText(strMsg, setx, sety, paint);
g.restore();
}
}
- android的图片加载和伸缩处理
- 图片的旋转和伸缩
- 图片伸缩处理方法
- android图片加载处理
- android 加载图片防止oom的处理
- 【Android】图片资源的加载、简单处理
- 图片的局部伸缩
- Android--图片加载处理(内存溢出和三级缓存)
- android 4.4以上系统文档和图库裁剪图片加载异常的处理
- Android属性动画简单实现图片的伸缩
- Android属性动画简单实现图片的伸缩
- javascript 实现图片的拖拽和伸缩效果
- JQuery学习笔记(图片的展开和伸缩)
- Android加载大量网络图片出现内存溢出的处理
- Android 加载打图片出现OOM异常的处理方式
- Android 加载大量图片的三级缓存处理
- Android网络图片加载缓存处理库的使用
- Android网络图片加载缓存处理库的使用
- Objective-C回调机制(delegate, protocol)
- COM 对象强制转换为接口类型问题
- Win7下使用Rational Rose
- web_submit_data和web_custom_request的比较
- spinlock自旋锁de使用
- android的图片加载和伸缩处理
- 7klw
- 深入理解 C++ 指针(八)---指针类型转换
- 遍历sd卡上所有图片
- Cisco交换机系列密码恢复
- Ubuntu下DB2的安装和卸载
- vim多buffer的查找替换
- 深入浅出SharePoint——权限提升
- sql语句优化原则