Примечание. Большинство ответов, которые я мог найти здесь о переполнении стека, были либо устаревшими (и использовались устаревшие методы), либо были тесно связаны, но не совсем полезны для моего случая
Я создаю приложение, которое генерирует цветовую палитру из изображения, введенного пользователем. Для этого я использую эту библиотеку Jetpack. Я в большой степени новичок и никогда раньше не имел дела с растровыми изображениями или подобными намерениями. Я считаю, что код для запуска средства выбора изображений должен быть таким, как показано ниже:
const val PICK_IMAGE = 1
class MainActivity : AppCompatActivity() {
private lateinit var openGalleryButton: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
openGalleryButton = findViewById(R.id.open_gallery_button)
openGalleryButton.setOnClickListener {
val photoPickerIntent = Intent(Intent.ACTION_PICK)
photoPickerIntent.type = "image/*"
startActivityForResult(photoPickerIntent, PICK_IMAGE)
}
}
}
Тогда я думаю, что мне нужно переопределить onActivityResult()
и что-то там сделать? Но что бы я ни делал, я не могу заставить это работать. Я НЕ собираюсь устанавливать это изображение на какой-либо ImageView
, и большинство ответов на подобные проблемы отвечают только на то, как установить изображение на ImageView
, или они устарели и используют устаревшие методы.
Я хочу получить изображение от пользователя, когда он нажимает кнопку, каким-то образом преобразовать его в растровое изображение, которое можно использовать внутри с библиотекой цветовой палитры. Получите доминирующие цвета из сгенерированной палитры как шестнадцатеричный цвет или какой-либо другой пригодный для использования формат и разберетесь с ним самостоятельно.