Проблема с получением изображения того же размера из памяти телефона в активность приложения

Я сохранил изображение из Activity1 во внутреннюю память в формате png с размерами 960 * 960, размер 5,8 КБ. Из галереи снова извлекаем то же изображение 960 * 960 5,8 КБ в Activity2 того же приложения. Теперь, когда я сохраняю то же изображение из этого Activity2 в свою галерею, теперь детали изображения составляют 960 * 960 и 4,8 КБ. Это мешает мне получить информацию о пикселях из изображения Activity2, что является основным требованием моего приложения. Мне нужны предложения, что я могу сделать, чтобы сохранить и получить изображение того же размера.

Заранее спасибо..

это код для сохранения изображения из действия 1.

    public void saveImage(Bitmap bitmap){
    String root = Environment.getExternalStorageDirectory().toString();
    File myDir = new File(root + "/My folder to save");
    String receiverN = receiverName.getText().toString();

    myDir.mkdirs();
    //name convention--------------------------------------------->>
    Calendar c = Calendar.getInstance();
    String month, day, year, hour, minute, second;
    month = ""+ (c.get(Calendar.MONTH)+1);
    day = "" + c.get(Calendar.DAY_OF_MONTH);
    year = "" + c.get(Calendar.YEAR);
    hour = ""+c.get(Calendar.HOUR_OF_DAY);
    if(hour.equals("0")) hour = "0"+hour;
    minute = "" + c.get(Calendar.MINUTE);
    int seconds = c.get(Calendar.SECOND);
    if (seconds<10) second = "0"+ seconds;
    else second = ""+seconds;

    String fname = receiverN + "-" + hour + ":" + minute + ":" + second + "_"  + month + "-" + day + "-" + year +".png";
    //name convention ends----------------------------------------->>

    File file = new File (myDir, fname);


    if (file.exists ()) file.delete ();
    try {
        FileOutputStream out = new FileOutputStream(file);
        bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.flush();
        out.close();
        String[] paths = {file.toString()};
        String[] mimeTypes = {"/image/png"};
        MediaScannerConnection.scanFile(this, paths, mimeTypes, null);
        Toast.makeText(this, "Image Saved", Toast.LENGTH_LONG).show();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

Теперь я закрываю приложение и перехожу в галерею, где оно будет храниться в папке «Моя папка для сохранения» с размерами 960 * 960 пикселей и размером 5,8 КБ. Я поделюсь этим изображением со своим приложением, и оно попадет в Activity2 того же приложения. Здесь я хочу получить те пиксели, которые я обработал до вызова метода saveImage в Activity1. Некоторые пиксели дают мне одинаковые данные, а некоторые нет.

это код в Activity2 для получения изображения из геллери в Activity2.

onCreate{
Intent intent = getIntent();
    String action = intent.getAction();
    String type = intent.getType();
    if (Intent.ACTION_SEND.equals(action) && type.startsWith("image/")){
        try {
            handleSendImage(intent);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public void handleSendImage(Intent intent) throws IOException {
    Uri imageUri =  intent.getParcelableExtra(Intent.EXTRA_STREAM);
    if (imageUri != null) {
        myImageBitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
        imageView.setImageBitmap(myImageBitmap);
    }
}

Я сохранил изображение из этого действия2, также используя метод saveImage, чтобы наблюдать за изменением, и после сохранения оно показывает размеры 960 * 960 и 4,8 КБ вместо 5,8 КБ, которые изначально были сохранены из действия 1.

Таким образом, я понял, что не могу получить те пиксели, которые мне нужны, поэтому помогите мне сохранить и получить изображение без потерь.

Надеюсь, эта информация будет полезной, заранее спасибо.


person Aalap Patel    schedule 31.03.2016    source источник
comment
Покажи свой код. Качество не должно ухудшаться.   -  person greenapps    schedule 31.03.2016
comment
saved an image from activity1 to gallery . Нельзя сохранять изображения в приложении «Галерея», поскольку приложение «Галерея» — это приложение, а не место для хранения. Пожалуйста, перефразируйте.   -  person greenapps    schedule 31.03.2016
comment
Не совсем так, как это все еще в теме.   -  person greenapps    schedule 01.04.2016
comment
изменил его и добавил код, чтобы вы поняли поток.   -  person Aalap Patel    schedule 04.04.2016
comment
public void saveImage(Bitmap bitmap). Вы не сказали. Вы также не сказали, откуда активность 2 извлекает изображение. Так много неясного. Пожалуйста, начните с файла изображения, если это возможно.   -  person greenapps    schedule 04.04.2016
comment
Если вы сохраняете растровые изображения в файл, то почему бы вам просто не указать путь к файлу для второго действия?   -  person greenapps    schedule 04.04.2016
comment
Как активируется Intent.ACTION_SEND? Почему бы вам просто не позволить действию 1 запустить действие 2?   -  person greenapps    schedule 04.04.2016
comment
Now when I save the same image from this activity2 to my gallery В вашу галерею? Что это такое? changed it ???   -  person greenapps    schedule 04.04.2016