• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

<canvas> pozbycie sie pikseli, efekt rozmycia, wygładzanie krawędzi - da się ?

Object Storage Arubacloud
0 głosów
975 wizyt
pytanie zadane 28 czerwca 2016 w JavaScript przez String Gaduła (4,520 p.)
edycja 29 czerwca 2016 przez String

Witam :)
Kiedy rysuję cokolwiek na canvasie wszystko jest super extra do czasu, gdy nie zacznę rysować linią np. 1px.
Wówczas nie jest to taka płynna, ładna linia, ale pikselowate coś, co nie wygląda estetycznie.
Da się to jakoś dopieścić ?
Na tej stronie: https://sketch.io/sketchpad/ rysując kreskę, okrąg 1px-em czuć efekt jakiegoś wygładzenia. Ta linia tutaj jest po prostu idealna.
Można by to porównać do tego jak okrąg rysują dwie osoby: jednej z nich trzęsie się ręka ( efekt jak na canvasie, pełno brzydkich pikseli ) a druga osoba posiada ogromne doświadczenie ii okrąg od ręki wygląda jak od cyrkla ( na sketch.io).
Jestem mega ciekawy rozwiązania takiego problemu.

Tak dla zobrazowania:
a tutaj z poradnika od Comandeera. Coraz bliżej efektu końcowego, ale jak widać cały czas coś brakuje ;/

4 odpowiedzi

+1 głos
odpowiedź 29 czerwca 2016 przez Comandeer Guru (601,110 p.)
wybrane 29 czerwca 2016 przez String
komentarz 29 czerwca 2016 przez String Gaduła (4,520 p.)
Tak rzuciłem tylko okiem, bo mam mało czasu i wydaje mi sie że znajde tu to czego oczekuje. Super poradnik. I ogólnie rzecz biorąc, gdy będę miał z czymś problem jestem zmuszony do przeszukiwania stron pisanych po ang.. Dobrze bo będę ćwiczył jezyk ale z drugiej strony szkoda ze tak malo jest takich rzeczy po polsku. Dzieki wielkie za linka pozdrawiam :)
komentarz 29 czerwca 2016 przez String Gaduła (4,520 p.)
Sprawdziłem wszystko dokładnie i z tego poradnika najlepsza jakość prezentuje użycie tzw. krzywej Beziera. Ale to w ciągu dalszym nie jest to, co na tej stronie, którą podałem ;/
Na sketchpadzie, gdy narysujemy trójkąt rozwartokątny(koniecznie energicznymi ruchami) to przy wierzchołku przy największym kącie aplikacja nawet lekko zaokrągla krawędź ;o
A w źródle strony nigdzie nie mogę znaleźć co oni tam zastosowali ;/
komentarz 29 czerwca 2016 przez String Gaduła (4,520 p.)
linecap i linejoin zastosował właśnie Juriy Zaytsev.
A czym jest ta słynna technika z połówką piksela?
Chodzi o ctx.translate(0.5,0.5) ?
W moim przypadku to tylko pogarsza sytuacje gdyż im dalej rysuję tym dalej mi odjeżdża kursor. Chyba że w złym miejscu to umieściłem.
komentarz 29 czerwca 2016 przez Comandeer Guru (601,110 p.)
Chodzi mi o coś takiego: http://jsfiddle.net/9bMPD/357/
komentarz 29 czerwca 2016 przez String Gaduła (4,520 p.)
A tutaj jest użyty gradient, tak?
Juriy również z tego korzystał, jednak dalej to nie to. :D
0 głosów
odpowiedź 29 czerwca 2016 przez Ehlert Ekspert (212,670 p.)

Tak, bo rysujesz jednym kwadratowym pikselem. Załaduj na stronę w formie img taki obrazek:

I rysuj nim skalując go do odpowiednich rozmiarów. Oczywiście alpha obecna, czyli png.

komentarz 29 czerwca 2016 przez Comandeer Guru (601,110 p.)
Przekombinowane niesamowicie. Jest wiele innych sposobów, w których nie trzeba się uciekać do obrazka (choćby słynna technika z połówką piksela).
0 głosów
odpowiedź 29 czerwca 2016 przez Schizohatter Nałogowiec (39,600 p.)
edycja 29 czerwca 2016 przez Schizohatter
Technika ta nazywa się antyaliasingiem, tak baj de łej.

Inną sprawą jest malowanie za pomocą urządzeń wskazujących, ponieważ występuje aliasing z natury.
komentarz 29 czerwca 2016 przez Boshi VIP (100,240 p.)
To ta słynna co potrafi zabić karty graficzne w grach :DD
komentarz 29 czerwca 2016 przez Schizohatter Nałogowiec (39,600 p.)
Tylko że w grach (3D) jest dużo więcej krawędzi do wygładzenia niż w obrazku 300x300 :D
komentarz 29 czerwca 2016 przez Boshi VIP (100,240 p.)
I tak to zawsze wyłączam,bo efekt mały a zjada całą kartę ;D
–1 głos
odpowiedź 1 lipca 2016 przez String Gaduła (4,520 p.)
Ktoś coś jeszcze? :)

Podobne pytania

0 głosów
2 odpowiedzi 574 wizyt
0 głosów
1 odpowiedź 150 wizyt
pytanie zadane 22 sierpnia 2019 w JavaScript przez Tomyslav Nowicjusz (220 p.)
+1 głos
1 odpowiedź 256 wizyt
pytanie zadane 20 października 2016 w JavaScript przez Nowicjusz89 Obywatel (1,050 p.)

92,568 zapytań

141,424 odpowiedzi

319,630 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...