根据屏幕分辨率放大缩小图片
来源:互联网 发布:战舰世界爱大狗数据 编辑:程序博客网 时间:2024/05/23 01:19
获取屏幕分辨率:
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
screenWidth = mDisplayMetrics.widthPixels;
screenHeight = mDisplayMetrics.heightPixels;
从网络获取图片:
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
Looper.prepare();
URL myUrl = null;
Bitmap bitmap;
String imageId = null;
try {
imageId = (String) dataFirst.get(i).get("item_image");
imageId = imageId.substring(1,imageId.length()-1);
myUrl = new URL(imageId);
HttpURLConnection conn = (HttpURLConnection)myUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
//原始大小
primaryWidth = bitmap.getWidth();
primaryHeight = bitmap.getHeight();
//初始比例为1
scaleWidth = scaleHeight = 1;
if(screenWidth == 720 && screenHeight == 1280){
bitmap = scale(1, 1,bitmap);
}else{
bitmap = scale(1.8, 1.8,bitmap);
}
bitmapList.add(bitmap);
is.close();
new Handler(getActivity().getMainLooper()).post(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
imagess();
}
});
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
根据分辨率缩放图片:
/**
* 缩放
*/
private Bitmap scale(double scale_width, double scale_height,Bitmap bmp) {
//这种方法,有点不好是:如果图片大小超出屏幕会报错。
// if((scale_width > 1 && scaleWidth * primaryWidth >= getWindowManager().getDefaultDisplay().getWidth())
// || (scale_width > 1 && scale_height * primaryHeight >= getWindowManager().getDefaultDisplay().getHeight())){
// bt_bigger.setEnabled(false);
// }else {
// bt_bigger.setEnabled(true);
// }
scaleWidth = scaleWidth * scale_width; //缩放到原来的*倍
scaleHeight = scaleHeight * scale_height;
Matrix matrix = new Matrix(); //矩阵,用于图片比例缩放
matrix.postScale((float)scaleWidth, (float)scaleHeight); //设置高宽比例(三维矩阵)
//缩放后的BitMap
Bitmap newBmp = Bitmap.createBitmap(bmp, 0, 0, primaryWidth, primaryHeight, matrix, true);
//重新设置BitMap
return newBmp;
}
- 根据屏幕分辨率放大缩小图片
- ios 根据手势放大或缩小图片
- ios 根据手势放大或缩小图片
- ios 根据手势放大或缩小图片
- ios 根据手势放大或缩小图片
- 图片缩小放大脚本
- 图片放大缩小代码
- flex图片放大缩小
- java 图片放大缩小
- 图片放大缩小
- js图片放大缩小
- C# 图片放大、缩小
- js图片放大缩小
- Android 图片放大缩小
- ZoomControls放大缩小图片
- android 图片放大缩小
- 图片放大缩小demo
- java 图片放大缩小
- linux挂载的磁盘类型
- Excel启动提示向程序发送命令出现问题
- wireShark的使用
- 内存映射文件原理
- 解决android sdk更新不了
- 根据屏幕分辨率放大缩小图片
- SpringAOP原理介绍
- 观察者模式与委托
- 十进制向任意进制转换
- ViewSwitcher用法
- mysql解决主从不一致简单小示例
- 洛谷 1387 最大正方形
- 认识Sketchup
- 游戏开发—英雄类属性