【问题标题】:Android Bitmap Resize a small image into imageviewAndroid Bitmap 将小图像调整为 imageview
【发布时间】:2014-01-31 05:12:59
【问题描述】:

我需要在我的图像视图中显示位图。我从服务器获取位图,我想将图像正确地放入我的 imageview 中。我怎样才能做到这一点??我试过了,但显示不正确。

代码:

public class ImageTask extends AsyncTask<String, Integer, Bitmap> {

    @Override
    protected Bitmap doInBackground(String... urls) {
        Bitmap event_Image = null;
        String urldisplay = urls[0];

        try {
            InputStream in = new java.net.URL(urldisplay.toString().trim())
                    .openStream();
            event_Image = BitmapFactory.decodeStream(in);

        } catch (Exception e) {

            Log.e("Error", "Error while getting image  " + e.toString());
            // e.printStackTrace();
        }
        return event_Image;
    }

    public Bitmap getResizedBitmap(Bitmap image, int newHeight, int newWidth) {
        int width = image.getWidth();
        int height = image.getHeight();
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;
        // create a matrix for the manipulation
        Matrix matrix = new Matrix();
        // resize the bit map
        matrix.postScale(scaleWidth, scaleHeight);
        // recreate the new Bitmap
        Bitmap resizedBitmap = Bitmap.createBitmap(image, 0, 0, width, height,
                matrix, false);
        return resizedBitmap;
    }


new ImageTask() {
                @Override
                protected void onPostExecute(Bitmap result) {
                    if (result != null) {

                        // Rescaling event details image view
                        Bitmap resized = this.getResizedBitmap(result,
                                eventDetails_Image.getWidth(),
                                eventDetails_Image.getHeight());

                        eventDetails_Image.setImageBitmap(resized);
                    }
                }
            }.execute(mEventDetailsUtil1.getEvent_image_url());

【问题讨论】:

  • 只需在图像视图中使用 scaleType = "fitXY"。这就是你想要的吗?
  • 我已经试过了。

标签: android bitmap android-imageview


【解决方案1】:

您可以通过使用 imageview 的 scale Type 属性来做到这一点。检查this out。

【讨论】:

  • 如何在我的 customadapter i 用户持有者类和这样的查询中使用 aquery 调整图像大小... aQuery.id(holder.propic).image(listData.get(position).get( TAG_IMAGE),true,true,100,R.drawable.ic_launcher);..那么我该如何调整大小?
【解决方案2】:

//你可以使用android query在你的libs文件夹中添加一个查询库

public void getImage()
        {
            AQuery aq = new AQuery("Your Class Name");
            String url = "Your Server Url"
            aq.ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() 
            {
            public void callback(String url,JSONObject  jsonobject, AjaxStatus  status) 
                    {       
                      try 
                       {
                                    JSONArray jsonarray = jsonobject.getJSONArray("images");
                                    JSONObject robject = null;
                                       image_array.clear();
                                        for(int i=0;i<jsonarray.length();i++)
                                        {
                                                robject=jsonarray.getJSONObject(i);
                                                image_array.add("Your Image Path"));
                                        }

                       }       
                       catch (JSONException e1)
                       {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                       }
                    }
              });

        }//get Image method close

    public void insertImage()
    {

            for(int j=0; j<image_array.size();j++)
            {       

                      aq.ajax(image_array.get(j),Bitmap.class,new AjaxCallback<Bitmap>()
                       {
                                   public void callback(String url, Bitmap object, AjaxStatus status) 
                                   {
                                         super.callback(url, object, status);
                                         try 
                                         {
                                             imageview.setImageBitamp(Bitmap);

                                        }
                                        catch (Exception e)
                                        {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                        });
              } 
         }`enter code here`
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多