Narzędzia do przechwytywania i konwertowania Internetu
Społeczność online GrabzIt

Jak działa skalowanie obrazów?

W większości przypadków zrzut ekranu, który próbuję zrobić, jest zmniejszany w przeglądarce, ale chcę go wyeksportować jako większy. Korzystam z wartości bheight i bwidth, aby wskazać, jaka jest wysokość i szerokość elementu na stronie, a następnie przekazać żądaną wartość szerokości i wysokości (która będzie miała ten sam współczynnik kształtu). W niektórych przypadkach wysokość jest 2-4 razy większa niż wysokość, co powoduje, że obraz jest bardzo rozmazany.

Jednak wszystkie elementy wewnątrz div, które próbuję uchwycić, nie są powiększane o więcej niż 100% ich rozmiaru. Na przykład, przepustowość div może wynosić 300px i chcę, aby wyeksportował jako szerokość 900px. Wszystkie obrazy w tym div są wyświetlane nie większe niż 300px, ale ich prawdziwa szerokość to 1000px. Biorąc pod uwagę, że obraz ma szerokość 1000px, nie powinien mieć problemu z szerokością 900px, ale wygląda na rozmazany, jakby to był naprawdę szeroki obraz 300px, który jest powiększony 3x. 

Ponadto tekst na tym obrazie jest rozmazany. 

Kilka pytań:

  - Czy robię coś źle?

  - Jak skaluje się Grabzit? Czy robi zrzut ekranu o szerokości 300 pikseli (w moim przykładzie powyżej), a następnie skaluje go w górę? A może najpierw skaluje moje elementy z HTML, a potem zwraca zrzut ekranu?

  - Czy jest jedynym sposobem na osiągnięcie tego, co chcę przekonwertować HTML, aby wszystkie wartości wysokości i szerokości były zwiększane o żądaną skalę?

 

Korzystam z metody ConvertHTML z DataURI

 

Dzięki.

Zapytane przez GrabzIt Support 24 września 2019 r

Informacje na temat korzystania Obrazy HD można znaleźć tutaj.

Powinieneś użyć parametru hd i -1 szerokość i wysokość spowoduje to podwojenie rozmiaru obrazu.

Używanie szerokości do ustawienia dokładnego rozmiaru nie jest zalecane. Dodatkowe ustawienie wysokości spowoduje, że obraz zostanie powiększony, a następnie wyskalowany pod względem wysokości, co spowoduje rozmycie obrazu.

Obrazy HD działają poprzez powiększanie okna przeglądarki i tworzenie zrzutu ekranu.

Odpowiedział GrabzIt Support 24 września 2019 r

Dzięki. Problem polega na tym, że HD skaluje się tylko 2X i czasami potrzebuję więcej. Czy jest dla mnie sposób na ustawienie takiego ustawienia jak HD, gdzie ustawiam skalę? Jeśli nie, czy jest inny sposób osiągnięcia tego, co próbuję zrobić?

W tej chwili wydaje mi się, że jedynym sposobem na osiągnięcie tego, co chcę, jest przechwycenie HTML, a następnie użycie javascript do dostosowania wszystkich stylów wysokości i szerokości oraz zastąpienie wysokością i szerokością skali, którą chcę.

Podziękowania

Odpowiedział Corey Alderin 24 września 2019 r

Ok, możesz ustawić własny zoom za pomocą szerokości, ale musisz ustawić wysokość na -1, aby uniknąć zmiany rozmiaru obrazu na wiele sposobów.

Odpowiedział GrabzIt Support 24 września 2019 r

Ale chcę również zmienić wysokość. Więc jeśli mam na ekranie obraz 300x300, ale chcę go wyeksportować jako 900x900, ustawienie wysokości na -1 spowoduje wyświetlenie obrazu 900x300. 

Odpowiedział Corey Alderin 24 września 2019 r

Tak, przepraszam, masz rację co do ustawienia wysokości.

Wygląda na to, że powiększanie poprzez ustawienie szerokości jest obecnie zepsute. Podniosłem sprawę, aby to naprawić.

Odpowiedział GrabzIt Support 24 września 2019 r

OK, dzięki za poinformowanie mnie. Masz pojęcie, jak długo to trwa? Wiem, że trudno jest określić ramy czasowe, ale jakiekolwiek wyczucie czasu byłoby dla mnie pomocne.  

Odpowiedział Corey Alderin 24 września 2019 r

Mam nadzieję, że w ciągu następnego dnia.

Odpowiedział GrabzIt Support 24 września 2019 r

To byłoby niesamowite, dzięki. 

Odpowiedział Corey Alderin 24 września 2019 r

Problem został już rozwiązany.

Odpowiedział GrabzIt Support 24 września 2019 r

Świetnie, dziękuję za tak szybką pracę nad tym. Czy to jest coś, co zaraz zobaczę na swoim końcu, czy zajmie to trochę czasu? Pytam, ponieważ właśnie go przetestowałem i wydaje się, że to to samo. 

Dzięki jeszcze raz

Odpowiedział Corey Alderin 24 września 2019 r

Właśnie próbowałem i zoom działa, gdy szerokość jest większa niż szerokość przeglądarki.

Odpowiedział GrabzIt Support 24 września 2019 r

Może nie rozumiem, co zostało naprawione. Testuję ten sam div, ale z różnymi rozmiarami przeglądarki. Im mniejsza przeglądarka, tym bardziej rozmyty jest ostateczny obraz, nawet jeśli jest dokładnie taki sam.  

 

Innymi słowy, mam ostateczny obraz, który będzie 1000px x 1000px. Przetestowałem to, gdy div w przeglądarce to 800x800, 600x600, 400x400 itp. I im mniejsza szerokość / wysokość (lub większa skala do końcowej szerokości / wysokości), tym bardziej rozmazany jest ostateczny obraz. 

 

Jeśli mój obraz wygląda świetnie, gdy szerokość / wysokość wynosi 800x800, czy nie powinien wyglądać tak samo, gdy obraz to 400x400? 

 

Podziękowania

Odpowiedział Corey Alderin 24 września 2019 r

Zaleca się HD, ponieważ podwaja ona rozmiar obrazu, co daje najlepsze wyniki.

Poprawka oznacza, że ​​powiększenie jest teraz wykonywane, jeśli szerokość jest większa niż szerokość przeglądarki.

Jeśli używasz szerokości i wysokości, musisz podwoić lub potroić itp. Szerokości i wysokości w stosunku do wymiarów przeglądarki, aby uzyskać najlepsze wyniki. Jest tak, ponieważ niestety zoom działa w poziomach, a nie w procentach. Tak więc każde procentowe powiększenie obliczone na podstawie różnic w szerokości musi zostać przekonwertowane na poziom, który prawdopodobnie nie jest zbyt dokładny, jeśli nie jest to prosty czynnik wielkości.

Odpowiedział GrabzIt Support 24 września 2019 r

HD nie jest czymś, czego mogę użyć (chyba że czegoś mi brakuje), ponieważ w niektórych przypadkach potrzebuję dokładnego wymiaru, a nie 2X rozmiaru. A w niektórych przypadkach potrzebuję więcej niż 2X.

Pokaż mi, czy rozumiem, co mówisz. Powiedzmy, że mam HTML, który jest 200x200 i chcę ostateczny rozmiar to 900x900. To jest 4.5 x rozmiar. Czy mówisz, że stworzy to tylko jako 800x800 lub 1000x1000 (rozmiar 4X lub 5x) z najlepszymi wynikami, ale różnica .5x powoduje rozmycie?

Jeśli mam to poprawne, najlepszym rozwiązaniem jest manipulowanie kodem HTML przed wysłaniem? Więc w zasadzie powinienem tworzyć HTML, który ma odpowiedni rozmiar i nie będzie potrzebował żadnego powiększenia?

 

Podziękowania

Odpowiedział Corey Alderin 24 września 2019 r

Tak, prawie tak, ponieważ poziomy stają się większe wraz ze wzrostem przybliżenia.

Więc powiększenia, które nie są x2, x3 lub x4, będą niedokładne, ponieważ wymiary będą wyłączone. Istnieje również tylko dziesięć potencjalnych poziomów powiększenia, więc myślę, że równa się maksymalnie X5.

Odpowiedział GrabzIt Support 25 września 2019 r