Alexey 🇪🇸
Alexey 🇪🇸
если иннета нет, то там дофига тестов развалится)
Alexey 🇪🇸
хотя тоже хороший поинт
Kanstantsin
хранится, конечно
ну может быть, но точно getter-a нет чтобы данные получать
Kanstantsin
именно по причине очищения при перерисовке вью она все еще рисуется?)
Точно, значит хранится, но методов доступа нет, может рефлексией только тогда
Aleksey
Точно, значит хранится, но методов доступа нет, может рефлексией только тогда
можно переопределить метод ImageView#onDraw, сделать Bitmap из Canvas и работать с ним, пам-пам
Alexey 🇪🇸
ладно, всем спасибо) натолкнули меня на верные мысли, а то я тут часа 2 не могу понять какого фига пиксели не равны)
Alexey 🇪🇸
можно переопределить метод ImageView#onDraw, сделать Bitmap из Canvas и работать с ним, пам-пам
это все уже оверинжиниринг пошел, но ради интереса чисто уже если... А вдруг он что-то с битмапой до рисования делает?
Kanstantsin
эээээ, (imageView.drawable as BitmapDrawable).bitmap
Ну как мы видим эти данные не равны входным
Kanstantsin
И я тоже такое помню что адекватно входные не получить
Kanstantsin
это вы как такое видите?
Сравнить объекты ?
Mike
Сравнить объекты ?
Совсем втупую не выйдет. Придётся либо записать в Parcel, либо выпросить пиксели и сравнивать их
Kanstantsin
Тут выше же писали уже тоже, что даже пиксели другие
Kanstantsin
ImageView что-то делает с картинкой которую туда set-ешь
Alexey 🇪🇸
Совсем втупую не выйдет. Придётся либо записать в Parcel, либо выпросить пиксели и сравнивать их
да, ты возьми битмапу засунуть в imageview и вытащи. Увидишь что не равны стали
Kanstantsin
не увидел кода
Какого кода, это просто факт
Alexey 🇪🇸
входит, но выходит другая))
Alexey 🇪🇸
не как у ослика Иа ))
Alexey 🇪🇸
у битмапы метод есть sameAs
trashkalmar
Наброшу. Можно посчитать несколько разных параметров картинки: яркость, "средний цвет", ещё чего-нибудь.
Ivan
У всех эта галка не работает?))
Kanstantsin
коооооод
Какой ты недоверчивый (
Alexey 🇪🇸
коооооод
ну блин лол: val bitmap = .... // load from glide/picassa etc imageview.setImageBitmap(bitmap) val modifiedBitmap = imageView.drawable as BitmapDrawable).bitmap modifiedBitmap.sameAs(bitmap) // будет false
Alexey 🇪🇸
Наброшу. Можно посчитать несколько разных параметров картинки: яркость, "средний цвет", ещё чего-нибудь.
да можно придумывать всякие такие эвристики, но слишком оверкилл для такой простой задачи
𝙕𝙚𝙪𝙨𝙏𝙝𝙚𝙂𝙤𝙙𝟲𝟲𝟲
Здравствуйте
trashkalmar
зависит от того, насколько сильно должны "совпадать" картинки
Richard
Nometa.xyz
trashkalmar
я бы сохранил два изображения в файлы и рассмотрел бы их
trashkalmar
может, там размеры только поменялись
Alexey 🇪🇸
я бы сохранил два изображения в файлы и рассмотрел бы их
настолько чтобы для пользователя визуально это было одно и то же
Ilya
Считаешь хеши исходной картинки и внутри imageview и сравниваешь
Alexey 🇪🇸
trashkalmar
да может, там всё намного проще
Ilya
о круто, чет не ресерчил в эту сторону
Не уверен есть ли готовые либы, но по идее должны быть
Alexey 🇪🇸
Не уверен есть ли готовые либы, но по идее должны быть
а быстро работает алгоритм? Какая сложность?
𝙕𝙚𝙪𝙨𝙏𝙝𝙚𝙂𝙤𝙙𝟲𝟲𝟲
Я полный ноль в програмировании и не знаю с чего начать для создания модов приложений. Я думаю вы знаете что такое GCam, у создателя одного из модов я спросил на каком языке он делает эти самые моды и он ответил что на Smali, по Smali информации очень мало. Я бы хотел узнать возможно ли делать всё тоже самое на Java.
Ilya
а быстро работает алгоритм? Какая сложность?
Должен очень быстро. Самый медленный шаг - скейлинг изображения до небольшого размера (32x32)
𝙕𝙚𝙪𝙨𝙏𝙝𝙚𝙂𝙤𝙙𝟲𝟲𝟲
Прежде чем реверсить и вносить изменения, надо просто стать неплохим прогером.
То есть если я выучу Java то я смогу перевести его код Smali в Java и так же модифицировать?
Alexey 🇪🇸
Mike
То есть если я выучу Java то я смогу перевести его код Smali в Java и так же модифицировать?
Ну вроде того. Ещё надо понять тулчейн, который используется для превращения джавы в работающий код в телефоне и наоборот.
Alexey 🇪🇸
https://github.com/KilianB/JImageHash
самому приходилось использовать? Если да, то какая задача тебе встретилась?
Ilya
самому приходилось использовать? Если да, то какая задача тебе встретилась?
Нет, не приходилось. Просто знаю что такое существует и под твою задачу вроде подходит
Future Franklin
Вопрос как можно несколько фигур рисовать на одном "листе", ибо при клике на разную фигуру другой "лист" открывается?
Ivansuper
Sergey
Вопрос как можно несколько фигур рисовать на одном "листе", ибо при клике на разную фигуру другой "лист" открывается?
Я бы сделал так, что при выборе фигуры, где-нить менялась переменная, вроде canvasSelected, на котором висит наблюдатель и мониторит текущее состояние, а при рисовании, выбирается уже тип канваса в зависимости от выбранной фигуры.
Ivansuper
Зачем вам тип канваса? Вам нужен тип инструмента
Ivansuper
Я ему в прошлый раз давал совет как хранить нарисованные фигуры. Он мог сделать один абстрактный класс Shape и отнаследоваться в Line Rect Circle
Ivansuper
У Shape просто метод drawAt()
Ivansuper
Вопрос поставлен неправильно, и даются неправильные ответы
Sergey
Ну тип канваса, я имею ввиду, идет проверка текущей переменной, которая отвечает за выбранную фигуру на данный момент, и потом выбор метода, типа drawLine, drawCircle, drawRect и так далее.
Future Franklin
Пока что вот так просто 3 функции
Future Franklin
Ivansuper
И что тебе мешает ифы убрать чтобы рисовалось все?
Ivansuper
Или у тебя от пальца сразу три фигуры пойдут?
Future Franklin
Окей а как без ИФА тогда , мне нужно ж как-то вызывать в активити по Id
Future Franklin
Ivansuper
Это ведь не твой код?
Future Franklin
Мой кроме state
Future Franklin
Это решение нашёл
Ivansuper
Понятно, не твой
Future Franklin
Всмысле не мой?
Future Franklin
Я могу всё тут объяснить
Ivansuper
Ты вязнешь просто в продумывании алгоритма. Если бы ты все это написал, ты бы понял как оно работает и не задавал бы вопрос про смену стейта своего
Future Franklin
До этого тут была только одна функция рисования линии , потом я нашёл вариант с state
Future Franklin
Крч ладно сам как-то попытаюсь продумать , тот твой ответ с сохранением в бд значения x, y и ТД ,как реализовать можно?
Ivansuper
Так, ладно. Либо жди тут ответа от других, либо занимайся сам. Бесплатным репетиторством я не занимаюсь. Это без оскорблений
Future Franklin
Ладно
Anonymous
Господа, а на вкладках AHBottomNavigation вообще можно редактировать текст (EditText, TextView) ? Клавиатура не хочет появляться по тапу