解决方案 »

  1.   

    /**
     * 保存缩略图
     * 
     * @param bitmap
     */
    private void saveThumbnails(Bitmap bitmap) {
    Bitmap smallBitmap = thumbnailWithImageWithoutScale(bitmap);
    String filePath = new File(SharePre.getThumbnailsFilePath(this) + "/" + selectImgName).getPath();
    try {
    FileOutputStream fout = new FileOutputStream(filePath);
    smallBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fout);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    } /**
     * 获得缩略图
     * 
     * @param originalBitmap
     * @return
     */
    private Bitmap thumbnailWithImageWithoutScale(Bitmap originalBitmap) {
    Display display = getWindowManager().getDefaultDisplay();
    int height = display.getHeight();
    int SCALE;// 缩略图大小
    switch (height) {
    case 1080:
    SCALE = 300;
    break;
    case 1920:
    SCALE = 600;
    break;
    default:
    SCALE = 150;
    break;
    } // 得到缩略图
    Bitmap bitmap = ThumbnailUtils.extractThumbnail(originalBitmap, SCALE, SCALE,  ThumbnailUtils.OPTIONS_RECYCLE_INPUT); return bitmap; }主要在于Bitmap的compress方法和ThumbnailUtils.extractThumbnail不知是否对你有帮助
      

  2.   

    我也是新手,也在入门学习中,和大家分享一下,免费的课程,也是非常不错的IT学院的老师讲课,
    有兴趣的,可加群<Android开发入门 372858684>。请了个做开发多年的朋友在群里友情客串,
    不定时看心情组织在线学习。想系统入门的同学,可以进来一起学习分享,
    值得一听的,大家帮忙在身边各种群里晒一晒
      

  3.   

    ImageView  iv = (ImageView) convertView.findViewById(R.id.iv_grid_item);
    BitmapFactory.Options  opts = new BitmapFactory.Options();
    //代表以后的程序不能生成图片,但可以得到图片的属性
    opts.inJustDecodeBounds = true;
    //得到图片资源
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), image[position], opts);
    //计算缩放比,然后给个缩放值inSampleSize
    int BILI = (int) (opts.outHeight/(float)200);
    if(BILI<1){
    BILI = 1;
    }

    opts.inSampleSize = BILI;
    //将图片像素设置为低像素
    opts.inDensity = DisplayMetrics.DENSITY_LOW;
    //降低图片质量  设置为16位
    opts.inPreferredConfig = Config.RGB_565;

    //允许绘制图片
    opts.inJustDecodeBounds = false;
    Bitmap  bm = BitmapFactory.decodeResource(getResources(), image[position], opts);
    iv.setImageBitmap(bm);可以这样处理一下