Есть services , такие как Filestack, которые сделают это за вас.
Они берут ваш url изображения и позволяют изменять его с помощью параметров URL. Это довольно просто.
Ваше изображение будет выглядеть так после изменения размера до 200x100, но сохраняя соотношение сторон
. Весь url выглядит так:
https://process.filestackapi.com/AhTgLagciQByzXpFGRI0Az/resize=width:200/crop=d:[0,25,200,100]/https://i.stack.imgur.com/wPh0S.jpg
но важная часть - это просто
resize=width:200/crop=d:[0,25,200,100]
Если вы хотите сделать это таким образом, просто используйте обратный вызов для вашего метода State
. Вы пытаетесь получить доступ к нестатическому методу статическим способом, плюс, вы делаете это неправильно, потому что даже если бы метод был статическим, вы не получили бы доступ к активному State
и контроллеру.
Итак, используя обратный вызов, вы хотите передать его конструктору вашего класса.
class OnboardingPage extends StatelessWidget {
OnboardingPage({this.viewModel, this.onNextPressed});
final PageViewModel viewModel;
final VoidCallback onNextPressed;
(...)
. ]
И затем передача ссылки при добавлении OnboardingPage
к вашему дереву виджетов в вашем методе build
OnboardingPage(viewModel:pages[0],onNextPressed: jumpForward)