Как увеличить края фотографии, когда загружаешь ее на сайт?

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
Доброго времени суток. Подскажите, пожалуйста, есть например сайт yandex.ru , если зарегистрировать почту, есть возможность загрузить фото, как мне правильно расширить рамки фотографии по максимуму? Так как на примере можем увидеть, что после загрузки фото, рамка фото ушла в левый угол, т.е. фото обрежет, вместо того, что бы сделать ее максимально полной.
65153
65154
 

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
  • Спасибо
Реакции: Gunjubasik

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
посмотрел, эти уголки можно найти через xpath. А далее перетаскиваем мышкой. Не знаю есть ли на кубиках, в c# это вот этот метод - https://help.zennolab.com/en/v5/zennoposter/5.11.6.0/topic462.html
Есть такая штука в кубиках, как drag, но как определить координаты боту, если они могут быть разными, в зависимости от размера фото?
65155
 

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Как вариант отслеживать высоту мышки и если не меняется, то прекращать работу. Хотя может кто подскажет более элегантное решение.
Может, кстати, получить ширину и высоту этого квадрата. Затем посчитать разницу между типа такого: "откуда начинаю" - высота = сколько перетаскивать.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
Как вариант отслеживать высоту мышки и если не меняется, то прекращать работу. Хотя может кто подскажет более элегантное решение.
Может, кстати, получить ширину и высоту этого квадрата. Затем посчитать разницу между типа такого: "откуда начинаю" - высота = сколько перетаскивать.
Так в том то и дело, что я даже примерно не знаю, как спарсить высоту ширину квадрата. Но спасибо за попытку помочь.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
Вышло чуть-чуть добиться результата, но я так и не понял, почему когда я ищу саму картинку в xpath, левый угол картинки координаты не 0, 0 , а даже -40, -40 - растягивает не совсем к краю картинки.

Как я сделал. Drag - нашел xpath дорогу левой-угловой штрихпунтирной линии координаты 0,0 , а Drop координаты картинки -40,-40, вроде как растянуло, но понять почему именно вот такие координаты, у меня не вышло...
65156
 

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Могу ошибаться, вероятно движение идет на указанное количество поинтов. Т.е. ты написал -40 -40, значит сдвиг идет вверх и влево на -40 поинтов (по оси x и y). если бы написал 40, 40, сдвиг МЫШКИ пошел бы вниз и вправо на 40 поинтов
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
Следующие фотографии продолжают криво растягивать, а некоторый вообще не растягивает, поэтому вопрос открыт. Если кто может подсказать, буду благодарен.
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
В проекте годичной давности откопал растяжку фото, даже в двух направлениях. Помню, тра*ался тогда кубиками и ничего не вышло.
C#:
instance.SetBrowserPreference("security.csp.enable", false);
var el1 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "jcrop-handle", "regexp", 1);
var el2 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "jcrop-tracker", "regexp", 1);
instance.ActiveTab.FullEmulationMouseDragAndDrop(el1, el2);
Thread.Sleep(1000);
var el3 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "jcrop-handle", "regexp", 3);
var el4 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("a", "class", "btnCropAndSave", "regexp", 0);
instance.ActiveTab.FullEmulationMouseDragAndDrop(el3, el4);
Тогда работало четко. Сейчас не проверял - некогда.
Суть в том, чтобы найти угловой элемент и передвинуть его за пределы фотографии.
 
  • Спасибо
Реакции: faraon2006 и Gunjubasik

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 991
Благодарностей
4 457
Баллы
113
В VK делаю так для левого маркера:

C#:
HtmlElement he = instance.ActiveTab.FindElementByAttribute("div", "class", "tag_frame_handle\\ ne", "regexp", 0);

instance.WaitFieldEmulationDelay();
int x = Convert.ToInt32(he.GetAttribute("left"));
int y = Convert.ToInt32(he.GetAttribute("top"));
instance.ActiveTab.FullEmulationMouseDragAndDrop(x,y, x+50, y-50);
Для правого по аналогии.
 
  • Спасибо
Реакции: Gunjubasik

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 739
Благодарностей
1 131
Баллы
113
Кто в курсе, почему при поиске в ПМ кликает вообще не в ту степь? (указал стрелкой)

65164
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
В VK делаю так для левого маркера:

C#:
HtmlElement he = instance.ActiveTab.FindElementByAttribute("div", "class", "tag_frame_handle\\ ne", "regexp", 0);

instance.WaitFieldEmulationDelay();
int x = Convert.ToInt32(he.GetAttribute("left"));
int y = Convert.ToInt32(he.GetAttribute("top"));
instance.ActiveTab.FullEmulationMouseDragAndDrop(x,y, x+50, y-50);
Для правого по аналогии.
Спасибо, помогло.

В проекте годичной давности откопал растяжку фото, даже в двух направлениях. Помню, тра*ался тогда кубиками и ничего не вышло.
C#:
instance.SetBrowserPreference("security.csp.enable", false);
var el1 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "jcrop-handle", "regexp", 1);
var el2 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "jcrop-tracker", "regexp", 1);
instance.ActiveTab.FullEmulationMouseDragAndDrop(el1, el2);
Thread.Sleep(1000);
var el3 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "jcrop-handle", "regexp", 3);
var el4 = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("a", "class", "btnCropAndSave", "regexp", 0);
instance.ActiveTab.FullEmulationMouseDragAndDrop(el3, el4);
Тогда работало четко. Сейчас не проверял - некогда.
Суть в том, чтобы найти угловой элемент и передвинуть его за пределы фотографии.
Спасибо, но что-то не получилось у меня верно его использовать. Есть возможность поподробнее подсказать, от какого обьекта отталкиваться, кроме самого шрихпунтира?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)