![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 14.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mój problem jest dość prosty jeżeli chodzi o inne języki programowania (AS czy VB), aczkolwiek zmuszony jestem do rozwiązania problemu w PHP.
Chodzi tu głównie o wypełnienie koła obrazkiem... funkcja imagefilledarc wypełnia okrąg podanym kolorem... a ja chciałbym go wypełnić obrazkiem (kwadratowym -> avatar), a resztę po za obwodem koła zrobić przeźroczystą. Można to zrobić na piechotę, określając pole koła i zmieniając kolor każdego pixel'a po za jego obwodem, ale wierze że jest inny sposób na to. Z góry dzięki; |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Sorry mój błąd. Obawiam się że trzeba będzie zrobić tak (ale głowy nie daje).
Wypełniasz przezroczystością, a potem białym kolorem. Tam gdzie jest białe miejsce pobierasz odpowiedni pixel z obrazka. Ale musiałbym się jeszcze głębiej zastanowić. Ten post edytował wookieb 14.10.2009, 21:08:08 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 283 Pomógł: 34 Dołączył: 21.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wpadłem na pewien pomysł.
Robisz na kwadracie okrąg, który będzie obramowaniem koła, a następnie za pomocą pętli robisz kolejne okręgi większe od poprzedniego, które będą wypełnione przezroczystością, która w tym wypadku działa jak gumka. Jedynym problemem jest to, że ta przezroczystość jest robiona z konkretnego koloru, który trzeba zdefiniować, i jeśli ten kolor występuje w środku koła to też zrobi nich przezroczystość, ale myślę, że da się ominąć nakładając na obrazek niewidoczną dla oka warstwę minimalnie ściemniającą kwadrat, dzięki temu będzie można do przezroczystości użyć np. 255,255,255. -------------------- Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 38 Dołączył: 24.02.2007 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zrób sobie plik maski z wybranym przez siebie kształtem (kółko, prostokąt, wielokąt), który jest przezroczysty i potem nakładaj go na obrazek.Tylko pamiętaj o ustawieniu przezroczystości. Ja dziś się nieco z tym bawiłem, ale problem był z jednym. Właśnie ową przezroczystością. Jeśli wczytałeś plik maski z przezroczystością już to było OK. Gorzej gdy maskę tworzyłeś "w locie". Funkcje nakładające obrazek na obrazek mają z tym problem. W GD bowiem ustalasz domyślnie kolor w trybie RGB, ale możesz też jako RGBa. Tymczasem nakładając maskę utworzoną "w locie" widziało ją nie jako RGBa ale zwykłe RGB, kanał alpha olewając :/ Niezależnie jakiej używałem kombinacji imagesavealpha i imagealphablending na obu plikach. Wyjściem chyba pozostaje tworzenie pliku maski, zapis na serwerze i potem wczytanie go oraz nałożenie. No chyba, że ja coś przy tworzeniu owej przezroczystości w masce się rypałem
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 15:47 |