android图片转换代码

package com.sl.test.ui.manage;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.PixelFormat;import android.graphics.drawable.Drawable;import android.location.Location;import android.view.View;import android.widget.TabHost;import android.widget.TabWidget;import android.widget.TextView;import com.baidu.mapapi.GeoPoint;import com.sl.quwei.R;import df.util.type.StringUtil;import org.xbill.DNS.utils.base64;import java.io.ByteArrayOutputStream;/** * Created by IntelliJ IDEA. * User: wulong * Date: 11-10-27 * Time: 上午6:31 * To change this template use File | Settings | File Templates. */public class AggTools {    /**     * @param val     * @return     */    public final static double latLangFromIntToDouble(int val) {        return (double) (val / 1E6);    }    public final static int latLangFromDoubleToInt(double val) {        return (int) (val * 1E6);    }    public static boolean setTabBackgroundColor(Context context, TabHost tabhost, int focusColor, int releaseColor) {        final TabWidget tabwidget = tabhost.getTabWidget();        for (int i = 0; i < tabwidget.getChildCount(); i++) {            View v = tabwidget.getChildAt(i);            if (tabhost.getCurrentTab() == i) {                v.setBackgroundColor(context.getResources().getColor(R.color.color_tab_light_orange));//R.color.color_tab_light_orange);                //更改tab标题颜色                final TextView tv = (TextView) tabwidget.getChildAt(i).findViewById(android.R.id.title);                tv.setTextColor(context.getResources().getColorStateList(android.R.color.darker_gray));            } else {                v.setBackgroundColor(context.getResources().getColor(R.color.color_tab_brown));//0xffE59500);//R.color.color_tab_brown);                //更改tab标题颜色                final TextView tv = (TextView) tabwidget.getChildAt(i).findViewById(android.R.id.title);                tv.setTextColor(context.getResources().getColorStateList(android.R.color.white));            }        }        return true;    }    public static String getNewTitle(CharSequence oldTitle, String loginName) {        String title = "" + oldTitle;        String showTitle;        if (title.contains(loginName)) {            showTitle = title;        } else {            showTitle = title + ":" + loginName;        }        return showTitle;    }    public static Bitmap drawableToBitmap(Drawable drawable) {        Bitmap bitmap = Bitmap                .createBitmap(                        drawable.getIntrinsicWidth(),                        drawable.getIntrinsicHeight(),                        drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888                                : Bitmap.Config.RGB_565);//        Canvas canvas = new Canvas(bitmap);//        //canvas.setBitmap(bitmap);//        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());//        drawable.draw(canvas);        return bitmap;    }    /**     *  字符串转bitmap     * @param in     * @return     */    public static Bitmap convertAvatarFromStringToBitmap(String in) {        if (StringUtil.empty(in)) {            return null;        }        byte[] byteBuf = base64.fromString(in);        if (null == byteBuf) {            return null;        }        Bitmap bitImg = bytes2Bimap(byteBuf);        return bitImg;    }    /**     * 将图片按指定质量转成字符串格式     * @param src     * @param quality     * @return     */    public static String convertAvatarFromBitmapToString(Bitmap src, int quality) {        if (null == src) {            return "";        }        if (quality < 0) {            quality = 0;        } else if (quality > 100) {            quality = 100;        }        byte[] byteBuf = bitmap2Bytes(src, quality);        if (null == byteBuf) {            return "";        }        String hexBuf = base64.toString(byteBuf);        return hexBuf;    }    /**     * 图片按指定高度等比缩小     * @param map     * @param dstH     * @return     */    public static Bitmap resizeBitmap(Bitmap map, int dstH) {        if (null == map) {            return null;        }        int width = map.getWidth();        int height = map.getHeight();        int dstHeight = dstH;        int dstWidth = (map.getWidth() / (map.getHeight() / dstHeight));        float scaleWid = ((float) dstWidth) / width;        float scaleHeight = ((float) dstHeight) / height;        Matrix matrix = new Matrix();        matrix.postScale(scaleWid, scaleHeight);        Bitmap resizeMap = Bitmap.createBitmap(map, 0, 0, width, height, matrix, true);        return resizeMap;    }    public static byte[] bitmap2Bytes(Bitmap bm, int quality) {        ByteArrayOutputStream baos = new ByteArrayOutputStream();        if (quality < 0) {            quality = 0;        } else if (quality > 100) {            quality = 100;        }        bm.compress(Bitmap.CompressFormat.PNG, quality, baos);        return baos.toByteArray();    }    public static Bitmap bytes2Bimap(final byte[] b) {        if (b.length != 0) {            return BitmapFactory.decodeByteArray(b, 0, b.length);        } else {            return null;        }    }    public static float getDistance(GeoPoint src, GeoPoint dest) {        int lat1 = src.getLatitudeE6();        int lng1 = src.getLongitudeE6();        int lat2 = dest.getLatitudeE6();        int lng2 = dest.getLongitudeE6();        float[] results = new float[3];        Location.distanceBetween(AggTools.latLangFromIntToDouble(lat1),                AggTools.latLangFromIntToDouble(lng1),                AggTools.latLangFromIntToDouble(lat2),                AggTools.latLangFromIntToDouble(lng2),                results);        return results[0];    }}



更多相关文章

  1. Android解析Xml字符串例子
  2. Android 异步从网络上下载图片
  3. android设置背景图片透明
  4. Android上传下载文件(图片)
  5. 点击LinearLayout使用selector改变TextView字体颜色
  6. mono for android 读取网络远程图片
  7. android 将图片转换成黑白图片
  8. Android 代码改变图片颜色android:tint="@color/main_color" and
  9. layout中设置图片自适应大小,并且设置最大宽高

随机推荐

  1. Android(安卓)adb中命令的运行
  2. Android中各种JAVA包的功能描述
  3. Android(安卓)Studio 小技巧(2):AS中Button
  4. Android(安卓)Matrix
  5. 对Android的理解
  6. Android的按钮监听事件&自定义回调函数
  7. Android从开机到打开第一个应用发生了什
  8. Android(安卓)ListView分页载入(服务端+an
  9. Android中解决图像解码导致的OOM问题
  10. Android入门第十六篇之Style与Theme[转]