Установить пиксель растрового изображения, уловленный средством выбора - PullRequest
0 голосов
/ 21 сентября 2018

мое маленькое приложение вызывает сбой, когда я пытаюсь установить пиксели растрового изображения , загруженного намерением фотоприемника , и я не могу понять, почему.Для намерения я взял этот код .

Так вот важная часть моего текущего кода:

public class MainActivity extends AppCompatActivity {

  private Bitmap selectedImage;

  ...

  private void changebitmap() {

        ImageView imageView = findViewById(R.id.imageView);

        for(int x = 0; x < selectedImage.getWidth(); x++) {
            for(int y = 0; y < selectedImage.getHeight(); y++) {
                selectedImage.setPixel(x, y, Color.argb(255, 128, 128 ,128));
            }
        }

        imageView.setImageBitmap(selectedImage);

  }
}

Я не могу понять, почему он выиграл 'т работы.

С уважением

1 Ответ

0 голосов
/ 21 сентября 2018

Хорошо, я только что получил это сам.

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

На уровне API 19 написано, что вы можете просто установить егона

selectedImage.setConfig(Bitmap.Config.ARGB_4444);

На более низких уровнях (таких как я) вы можете скопировать его по пикселям в другое растровое изображение с правильной конфигурацией.

selectedImage = Bitmap.createBitmap(copy.getWidth(), copy.getHeight(), Bitmap.Config.ARGB_4444);

for(int x=0; x < copy.getWidth(); x++) {
  for(int y=0; y < copy.getHeight(); y++) {

    selectedImage.setPixel(x, y, copy.getPixel(x, y));

  }
}

С уважением

...