缩略图图像不会减小图像尺寸

时间:2013-07-03 07:32:56

标签: php android iphone

我正在做和包含图片库的IOS和android应用程序,我需要用垂直滚动条显示底部的所有图像大拇指。我的网络侧面正在使用PHP开发,他们从网络创建了大拇指,但它无法减少图像大小。由于图像尺寸较大,我的图库页面崩溃了。

我正在寻找能够创建大拇指并缩小图像大小的优秀php或javascript库。

帮助非常明显,

谢谢, VKS。

1 个答案:

答案 0 :(得分:0)

你可以试试这个: 其中path是手机上图片的地址。

public Bitmap getImage(String path) {
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(path, options);
        int srcWidth = options.outWidth;
        int srcHeight = options.outHeight;
        int[] newWH = new int[2];
        newWH[0] = srcWidth / 2;
        newWH[1] = (newWH[0] * srcHeight) / srcWidth;

        int inSampleSize = 1;
        while (srcWidth / 2 >= newWH[0]) {
            srcWidth /= 2;
            srcHeight /= 2;
            inSampleSize *= 2;
        }

        // float desiredScale = (float) newWH[0] / srcWidth;
        // Decode with inSampleSize
        options.inJustDecodeBounds = false;
        options.inDither = false;
        options.inSampleSize = inSampleSize;
        options.inScaled = false;
        options.inPreferredConfig = Bitmap.Config.ARGB_8888;
        Bitmap sampledSrcBitmap = BitmapFactory.decodeFile(path, options);
        Matrix matrix = new Matrix();

        int newh = (srcWidth * sampledSrcBitmap.getHeight())
                / sampledSrcBitmap.getWidth();
        Bitmap r = Bitmap.createScaledBitmap(sampledSrcBitmap, srcWidth, newh,
                true);
        Bitmap resizedBitmap = Bitmap.createBitmap(r, 0, 0, srcWidth, newh,
                matrix, true);

        return resizedBitmap;
    }