下载的图像会自动调整大小

时间:2012-01-17 07:53:26

标签: android menuitem

我从服务器下载图像并使用以下代码保存:

private void downloadImages(String[] images, String fileName){

    for (int i = 0; i < images.length; i++) {

        try {
            url = new URL(images[i]);

            String outputName = i+fileName;

            input = url.openConnection().getInputStream();
            output = activity.openFileOutput(outputName, Context.MODE_PRIVATE);

            int read;
            byte[] data = new byte[1024];

            while ((read = input.read(data)) != -1){
                output.write(data, 0, read);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (output != null)
                try {
                    output.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            if (input != null)
                try {
                    input.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
    }
}

这很好用。

问题在于,当我阅读它们以在ImageButtonMenuItem上显示它们时,它们会自动调整大小。

当我从模拟器中取出图像时,我发现它们的尺寸是正确的。 我用于测试的每个设备上的行为相同。

我使用此代码阅读图像:

private Drawable[] readMenuImages(){   

    Drawable[] drawable = new Drawable[myJSONObject.getMenuItems().length]; 

    for(int i=0 ; i < myJSONObject.getMenuItems().length ; i++){


        try {
              drawable[i]=Drawable.createFromStream(activity.openFileInput(i+activity.getString(R.string.menuItemImgarabicfilename)), "ImageStream");



        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }          

    return drawable;
}

我实际上无法理解发生了什么或如何解决这个问题。

我已经访问了这个帖子Downloaded image gets resized,但它没有帮助。

谢谢你的帮助。

0 个答案:

没有答案