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

Rysowanie obrazka na obrazie.

Object Storage Arubacloud
0 głosów
475 wizyt
pytanie zadane 1 maja 2018 w Java przez Aisekai Nałogowiec (42,190 p.)
Piszę grę w swingu (na zaliczenie, musi być swing) typu towerdefence. Mam klasę, która dziedziczy po JComponencie i w niej rysuję mapkę składającą się z (na razie) samych tekstur traw. Problem pojawia się w chwili, gdy najpierw narysuję teksturę trawy, a na niej chcę narysować np drzewo z przeźroczystym tłem. Jak narysować obraz, z przeźroczystym tłem na innym obrazie, tak aby narysowany obraz nie zasłaniał obrazu pod nim, tam gdzie nie ma tła?

1 odpowiedź

0 głosów
odpowiedź 2 maja 2018 przez NIMuser Stary wyjadacz (11,030 p.)
wybrane 2 maja 2018 przez Aisekai
komentarz 2 maja 2018 przez Aisekai Nałogowiec (42,190 p.)
Nie o to chodzi. Mam narysowany (na obiekcie Graphics2D) obrazek będący teksturą trawy.

I chciałbym na niej narysować drzewo które nie ma tła. Niestety nie mogę tego narysować, ponieważ  w chwili gdy to rysuję, to rysuje mi drzewo z tłem będącym szachownicą szaro-białą.

Nie chcę, żeby całe drzewo było przeźroczyste, tylko chcę żeby się pozbyć niepotrzebnego tła.
komentarz 2 maja 2018 przez NIMuser Stary wyjadacz (11,030 p.)

Pomyśl o grafikach typu PNG czy GIF lub innym formacie który akceptuje przezroczystość.

Jak nadajesz kolor, to zobacz czy nie ma możliwości nadania 4-tego parametru, jeśli można to ustaw go na 0. Coś w rodzaju 

g.setColor(25, 40, 125, 0);

Być może będziesz musiał rysować na innym widżecie,

komentarz 2 maja 2018 przez Aisekai Nałogowiec (42,190 p.)
Chyba jednak będę musiał narysować na innym widżecie, ewentualnie w javieFX, bo ustawienie czwartego parametru też nic nie daje też nic nie daje.
komentarz 2 maja 2018 przez NIMuser Stary wyjadacz (11,030 p.)
Może drukuj na "płótnie" albo na grafice i gotową grafikę umieszczaj na panelu. Szczerze nigdy nie korzystałem z Swinga.
komentarz 2 maja 2018 przez Aisekai Nałogowiec (42,190 p.)
Teraz mam tak, że mam Obiekt który dziedziczy po JComponent.

I domyślnie on ma metodę paint(Graphics g); która rysuje na tym komponencie g. Ja, chcąc coś narysować na tym Componencie, najpierw tworzę Graphics2D rzutując g, a potem na tym rysuję texturę z trawą oraz drzewo.
komentarz 2 maja 2018 przez NIMuser Stary wyjadacz (11,030 p.)

Tu gość coś pisze ale bardziej to w AWT niż Swing:

http://zetcode.com/gfx/java2d/transparency/

Musisz importować:

import java.awt.AlphaComposite;

Podobny przykład:

float alpha = 0.50f;
int type = AlphaComposite.SRC_OVER; 
AlphaComposite composite = 
  AlphaComposite.getInstance(type, alpha);

http://www.informit.com/articles/article.aspx?p=26349&seqNum=5

komentarz 2 maja 2018 przez Aisekai Nałogowiec (42,190 p.)
Pobrałem inny obraz PNG bez tła i o dziwo, narysowało tak jak chciałem od początku.

Wcześniej też tak próbowałem i źle rysowało. Dzięki za pomoc.

Podobne pytania

0 głosów
1 odpowiedź 491 wizyt
0 głosów
1 odpowiedź 496 wizyt
pytanie zadane 24 maja 2018 w Java przez Paweł Celuch Początkujący (420 p.)
0 głosów
1 odpowiedź 394 wizyt
pytanie zadane 4 maja 2018 w Java przez Paweł Celuch Początkujący (420 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 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!

...