Humanoid
-
Постов
22 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Humanoid
-
-
В 11.10.2020 в 14:58, alxsev сказал:
в свежих андроидах вложение не вкладывается
А какое решение? Как присоеденить изображение к мылу?
-
В 18.05.2023 в 18:16, krapotkin сказал:
не понимаю. зачем
Как оказалось я не один такой.
-
Может кто то сталкивался с такой проблемой и знает решение?
Не могу найти как включить форматер кода. Ни Ctrl+D не работает. Нет ни в контекстном меню, ни в настройках. Можно его как то "достать"?
Сидней. -
Кроссплатформенное приложение.
Картинка с камеры. На ней лежит ректангл. Вырезаю часть изображения по ректанглу. В винде все прекрасно. В андроид все смещается в зависимости от выбранного разрешения камеры.
Вопрос: Не пойму как соотносятся физический, логический размер экрана, Размер самого изображения и размеры контейнера (в моем случае Layout) в котором лежит изображение, между собой. Т.е. не могу правильно получить координаты вырезки на изображении. Как соотнести координаты ректангла с координатами изображения?
Вот последние изыскания в этом направлении.
Так хотя бы по высоте не прыгает...
Просветите плиз, как это все соотносится.
type TScreenS = record w: Single; // logic H: Single; // logic wp: Single; // phisics Hp: Single; // phisics D: Single; // scale display end; var ScrSize: TScreenS; imgDest : TBitMap; SouRec, DisRec: TRectF; ..... ScrSize := GetScreenSize; Scale := imgCamera.Bitmap.Height / Layout1.Height; Ww := imgCamera.Bitmap.Width / Scale; // Ширина изображения приведенная к пропорции высоты tx := ((Layout1.Width - Ww) / 2); // Смещение изображения относительно контейнера по Х t:=0; // Смещение изображения относительно контейнера по Y {$IFDEF ANDROID} Scale := Scale * ScrSize.D; // Масштаб для андроида с учетом масштаба экрана {$ENDIF} imgDest.Width := Rectangle1.Width; imgDest.Height := Rectangle1.Height; // Исходная зона для копирования // Х = позиция ректангла по Х минус смещение относительно контейнера // Y = позиция ректангла по Y минус смещение относительно контейнера // конечная позиция то же плюс размеры ректангла SouRec := TRectF.Create((Rectangle1.Position.X - tx) * Scale, (Rectangle1.Position.Y - t) * Scale, (Rectangle1.Position.X + Rectangle1.Width - tx) * Scale, (Rectangle1.Position.Y + Rectangle1.Height - t) * Scale); // Для Андроид добавляю разницу по высоте между физическим и логическим размерами экрана {$IFDEF ANDROID} SouRec := TRectF.Create((Rectangle1.Position.X - tx) * Scale, (Rectangle1.Position.Y + (ScrSize.hp - ScrSize.h)) * Scale, (Rectangle1.Position.X + Rectangle1.Width - tx) * Scale, (Rectangle1.Position.Y + Rectangle1.Height + (ScrSize.hp - ScrSize.h)) * Scale); {$ENDIF} DisRec := TRectF.Create(0, 0, Rectangle1.Width * Scale, Rectangle1.Height * Scale); imgDest.Bitmap.SetSize(Round(Rectangle1.Width * Scale), Round(Rectangle1.Height * Scale)); imgDest.Bitmap.Canvas.BeginScene; imgDest.Bitmap.Canvas.DrawBitmap(imgCamera.Bitmap, SouRec, DisRec, 1); imgDest.Bitmap.Canvas.EndScene;
-
Создал тему. Вопрос перенес туда
-
Ноут hp probook 470 g3 i7
Диск форматирован.
Установил Win 10 64Х
Ставил Александрию на на системный диск.
Результат тот же. SDK не доставился. Все компоненты в "Edit SDK" с желтыми треугольничками....
Т.е. SDK стал криво..
Переформатил все и вернул 10-ку Сидней. Подожду нормальной сборки 11-й версии. -
Благодарю за долготерпение.
Есть еще ноут как раз под переустановку. Поставлю с нуля винду и Александрию. Подозреваю, что какой то "хвост" оставался от предыдущих установок. Хотя вроде чистил тщательно. Еще раз Спасибо. -
1 час назад, Hevard сказал:
что было непонятно
Дык объясняю. Понятно все!
Галочки включены. Скачивание прошло. Только вот в 10-ке все ставало самостоятельно, а в 11 -й никак не желало становиться. При всех включенных галочках и вычищенном реестре, и удаленных всех воспоминаниях предыдущих установок. Только принудительно средствами Андроид студио пришлось установить рабочую часть СДК, а потом средствами этого СДК пришлось докачать и установить недостающие части СДК через командную строку. При этом параллельно понадобилось разобраться с Явой, потому как эта часть СДК без нее не запускалась.
Т.е. не ясно было как установить СДК если студия его не желает ставить ни в какую. )))Вот об этом и были мои вопросы.
-
8 часов назад, Hevard сказал:
Это не платформа встала криво, а Вы ее так установили.
Ставил 11-ю четыре раза, с полной чисткой от всех хвостов Embarcadero, RAD, Studio, Android В различных вариантах. Только Делфи и С билдер. В полном составе со всеми платформами, Только Делфи и Андроид. Естественно с СДК, ДЖДК всегда с одинаковым результатом. Криво установленным СДК. Т.е. по путям своей установки стулия СДК не видит.
10-ка становилась всегда ровно и без проблем. Все видела.8 часов назад, Hevard сказал:где Вы вычитали про какие-то последовательности установок Явы, СДК, и "что-то" ещё.
Вот это помогло исправить ситуацию.https://dannywind.nl/delphi/android-sdk-for-delphi-11-2-alexandria/
Ну и в некоторых описаниях установки Адроид студио. Т.е. самого СДК нет в виде архива или инсталятора, а ставится какая то часть, а потом с ее помощью докачивается сам СДК. В крайнем случае я так понял из всех своих танцев с бубном. И опять таки, перед установкой даже этой части надо установить Яву, И именно так у меня и получилось. Об этом и спрашивал. Это и подразумевал под платформой.
Еще раз благодарю за участие и извиняюсь за то что отобрал у Вас время.
С уважением -
10 часов назад, Hevard сказал:
Мда... Я еще и косноязычен... ((( Как поставить Дельфи я знаю. Я имел в виду по установке среды для андроид. Т.е. Что для этого надо, где взять, в какой последовательности ставить... Ява, СДК, ... Чтото еще... Это имел в виду.
Из "коробки" ставил начиная с 7-й версии.
Эмбаркодеро ставил с 10 Рио. Но, тогда интересовал только Делфи. Когда понадобился андроид, поставил Сидней. Все стало из коробки. Даже не задумывался как выглядит платформа мобильного.
А вот когда решил установить Александрию, платформа стала криво. И тогда задался вопросом, как она устроена. И как ее ставить и настраивать...
Как то так.
В общем еще раз СПАСИБО!
И может подскажете, что от меня хочет при попытке загрузить в телефон. Приложение с таким именем впервые в телефон.
И как и где указать сертификат и где его взять? Извините что нагрузил как баржу утюгами. -
3 минуты назад, krapotkin сказал:
Можно было не копировать сдк, а просто указать, где он лежит в андроид студио
Пробовал так... При попытке охранения ругается и сбрасывает все мои потуги.
Ткните еще носом плиз. При попытке загрузить в телефон приложения получаю такую ошибку.
Понимаю, что надо где то ручками указать как его собирать. И надо гдето, как то прописать сертификат... Ткните носом где и как это сделать.
Хотя, может это еще и от криво поставленного СДК.
11 минут назад, Hevard сказал:Какое-то у Вас "садо-мазо" происходит.
Ну тут все от незнания. Все на ощупь. Потому и задаю глупые вопросы. Предварительно, стараюсь искать ответы. Но, если уж совсем засада, спрашиваю.
Я не сильно представляю себе архитектуру этого всего хозяйства. Кто на ком стоит Ява, Андроид, ХМЛ, Чтото надо руками указывать....
Я программировал десктоп приложения с базами данных, там мне все понятно. А это поле пока что все в тумане.
Не обессудьте за глупые вопросы. Просто Вам ответить походя, а мне многие часы и даже дни поиска ответа.
Еще раз благодарю за помощь -
Спасибо что уделили время. Скопировал СДК из Андроид Студия, перевыбрал настройки СДК. Телефоны увидел.
-
1 час назад, Hevard сказал:
А почему у Вас диск F:\?
Ставил и на системный диск, проблема та же. Это уже третий подход к Александрии. Поработаю немного в Сиднее, нахожу новую инструкцию по установке. Сношу и пытаюсь ставить 11.
На системном лучше иметь свободное место, потому поставил на F:47 минут назад, krapotkin сказал:Надеюсь, вы сможете найти на своих дисках свой SDK
Ну видимо село я, не асфальтированное... Ставил и SDK и JDK и NDK из разных источников и в разных ипостасях и с инсталеров и просто из архивов... Ничего из того , что просит RAD Studio в этих каталогах не нашел... В одном из пакетов был только adb.exe.
50 минут назад, krapotkin сказал:и искать свой телефон там
Винда телефоны прекрасно видит и файл менеджерами я спокойно их юзаю. Телефоны все в режиме разработчика и в режиме отладки по ЮСБ.
Мне б убогому пошаговый букварь... Как установить, откуда взять... -
В 07.05.2023 в 15:36, krapotkin сказал:
Если ваш телефон видится через ADB - он будет и в Делфи
Я прошу прощения, я чайник в андроидах, и мобильных приложениях. Но, стоял Сидней 10.4 Все прекрасно видел, разные телефоны подключал, совсем дремучий Самсунг, ХТС, Ксяоми...
Переставил 11.3 и вот такая картинка с SDK Пытался ставить по инструкциям с разных сайтов... Полные дрова.
Может есть какойто пакет автоматом ставящий все это для андроида? Или вернуться все же к 10ке? -
Подскажите, как перевести координату экрана в координату (пикселя) рисунка , если разрешение рисунка отличается от разрешения экрана?
-
Мда.... Классный форум.
-
Поставил. Как то криво стал. Мобилу не видит. СДК похоже урезаный...
-
Программа под смартфон. На форме лежит Layout, на нем Image На картинке, посредине лежит Rectangle. Когда я пытаюсь вырезать из картинки участок ограниченный Rectangle, выходное изображение не соответствует границам и имеет искаженный масштаб. Ка можно привести это в норму?
var bmpS, bmpD: TBitMap; iRectS: Trectf; HD, wD: integer; iRectD: Trectf; Scalex, scaley: real; begin Scalex := 1; scaley := 1; bmpS := imgCameraView.Bitmap; iRectS := Trectf.Create(TPointF.Create(Ramka.Position.X * Scalex, Ramka.Position.Y * scaley), TPointF.Create((Ramka.Position.X + Ramka.Width) * Scalex, (Ramka.Position.Y + Ramka.Height) * scaley)); wD := Max(0, Round(Ramka.Width)); HD := Max(0, Round(Ramka.Height)); bmpD := TBitMap.Create(wD, HD); iRectD := Trectf.Create(0, 0, Ramka.Width, Ramka.Height); Code.Visible := True; if bmpD.Canvas.BeginScene then try bmpD.Canvas.DrawBitmap(bmpS, iRectS, iRectD, 1); bmpD.Canvas.EndScene; Code.Bitmap.assign(bmpD); finally bmpD.Free; end;
-
Отправка E-mail с прикрепленным изображением.
в Работа с файловой системой
Опубликовано · Изменено пользователем Humanoid
При отправке почты понадобилось сохранить изображение и добавить его в аттач сообщения.
Проблема свелась к правильному получению URI файла изображения.
Самостоятельно не смог побороть. Обратился за помощью к krapotkin.
Спасибо ему огромное за помощь.
Ну и может быть кому то будет полезен сей опыт.
Реализовано под D10.4 Sydney
Вот решение.
В параметрах проекта включаем "Secure File Sharing", при этом система автоматом создаст необходимые файлы для FilePropvider.
Ну и собственно получение URI файла через TAndroidHelper.JFileToJURI