Cekol Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Mam pytanie, a mianowicie =) Czy wiecie jak zrobić oddzielanie kolorów z jednego rysunku? Czyli np, tworzy się nam się rysunek na którym znajduje się tylko kolor czerwony z danego rysunku? W sumie, nie pytam się o kod,( ale też może być :) ) tylko o pomysł jak to zrobić, bo ja w kodzie raczej sobie poradzę :P Czekam na szybką odpowiedz, i pozdrawiam :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 może sprawdzaj pętlą for czy w danej pozycji x i y występuje czerwony, jeśli nie zamaluj pixel na inny kolor np kolor tła :D Edit: chodzi mi o to co PsichiX owi post niżej. Sprawdzaj pixel po pixelu :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Mozna by piksel po pixelu pobierac kolor i wybierac z niego wartosc czerwieni, ale to zbyt pamieciozerne wiec sie nie oplaca. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 14 Października 2007 Autor Udostępnij Opublikowano 14 Października 2007 No ale takie sposoby, to wiecie :PP Ma być Szybko , łatwo i przyjemnie xP A na fizyce, tam czegoś o tym nie mówią?? xDD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Na fizyce to my sie tym nie zajmujemy ;P Najprosciej jest napisac dlla ktory bedzie to robil o wieeeele wieele szybciej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 hmmm... zmajstrowałem takie coś: create: h=0 draw: for (i=x ; i<x+sprite_width ; i+=1) { if (draw_getpixel(i,y+h)=c_red)draw_point_color(i,y+h,c_white) if (i>=sprite_width+x) i=x ; h+=1 } pokombinuj :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Uch.. ach.. ech... https://gmclan.org/up1558_11_rysowanko_ze_zmiana_kol.html jednak jestem dobry :D fakt, troszkę muli Edit: O Fcuk. Sory za dubla myślałem że już dawno mnie ktoś zapisał, a nie odświeżyłem strony :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CuB3 Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Uch.. ach.. ech... https://gmclan.org/up1558_11_rysowanko_ze_zmiana_kol.html jednak jestem dobry :D fakt, troszkę muli Edit: O Fcuk. Sory za dubla myślałem że już dawno mnie ktoś zapisał, a nie odświeżyłem strony :( Oj... Nu,nu,nu... :blink: Ten przyklad tak zamula, ze na moim kompie mam 1 - 3 FPS :] I to sie nazywa "troszke muli" :rolleyes: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Jak mi przymuliło przy więcej obiektów :o Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 @CuB3: u mnie tak samo - zawiecha totalna :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 u mnie opóźnienie ok 1 sek przy włączaniu. I podczas działania programu z mojego kompa dobiega dziwny cichy syk. :o edit: zwiększcie sobie sprita do 300 :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Wiem jak to przyśpieszyć ;p W CREATE tworzyć nowy surface, pozmieniać kolory, stworzyć sprita, usunąć surface, ustawić sprita ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 To majstruj, ja nie mam pojęcia o surface :P Przypomniało mi się ktoś dawał taki przykład że zmieniał się kolor części sprita, (efekt ala moje) tylko że nie pamiętam jak to było zrobione i kto do dawał. Poszukaj. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Wymajstrowałem coś ;p https://gmclan.org/up1717_11_rysowanko_ze_zmiana_kol_2.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CuB3 Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 Wymajstrowałem coś ;p https://gmclan.org/up1717_11_rysowanko_ze_zmiana_kol_2.html Po dlugich i wglebliwych testach okazalo sie, iz ten przyklad dziala 100% szybciej niz przyklad Marka.S. A tak na powaznie to po ustawieniu 300 FPS Max w roomie, po odpaleniu programiku jest... 267 FPS na moim kompie :) Czyli jednym slowem gratulacje Konrad-GM :lol2: Wygrales dzisiejsza bitwe z Marek.S! Gratuluje :sp_ike: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Października 2007 Udostępnij Opublikowano 14 Października 2007 A co to jakieś zawody ? :P nigdy się nie bawiłem surface :P Edit: Tiaa... Konrad : Marek ______________.1:0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 Gratuluje, jak zwykle wszyscy dostajecie zonka! http://www.gmclan.org/up152_11_color2color.html Zrobione "na odwal", ważna jednak jest metoda. Reszta świata vs Tymon - 0 do... przestałem liczyć po pierwszej setce. ;] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 lol... zapomniałem na śmierć o "merge_color" xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 To teraz masz double zonka bo merge_color użyłem tylko dla uzyskania płynnego przechodzenia z koloru w kolor. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 15 Października 2007 Autor Udostępnij Opublikowano 15 Października 2007 xDD Poradziłem sobie :jezor: Nikt nie zgadł, o co chodzi, bo źle formułowałem pytanie xDD Chodziło mi o uzyskanie rysunku który ma tylko odcień koloru czerwonego :P Teraz pytanie nr 2. (Tymon miał ten przykład w upload. ale gdzieś się poszedł ...) Co trzeba zrobić aby mieć czarno biały rysunek? i 3 pytanie, Czy można (wykonać/zapisać) nowy rysunek , tylko w którym inny jest "kolor" od poprzednika? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 Zrób sprita w odcieniach szarości i zmieniaj wartość koloru po przez image_blend. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 15 Października 2007 Autor Udostępnij Opublikowano 15 Października 2007 Nie o to chodzi :PP Powiedzmy , że za rysunek, mamy paletę kolorów. I w pewnym obiekcie , w DRAW mamy takie coś" draw_sprite_ext(spr_kolory,-1,x,y,1,1,0,color,1) a zmienna color=c_red Wtedy, wychodzi nam paleta, tylko z czerwoną barwą. A co trzeba zrobić , aby ten czerwony rysunek był jeszcze czarno biały?? I aby nie było za pomocą surface xP Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 c_gray, c_white etc. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 15 Października 2007 Autor Udostępnij Opublikowano 15 Października 2007 Niee! xD Gdy byśmy mieli c_gray to obraz był by ciemniejszy, a nie szarszy. Mi chodzi jak narysować obrazek, z efektem c_red który będzie w skali szarośći mamy rysunek-paletę: czerwony=zielony=niebieski (paleta kolorów) :Powiedzmy taką: i narysujemy ją kolorem c_red draw_sprite_ext(spr_kolory,-1,x,y,1,1,0,c_red,1) to wyjdzie nam czarny=czerwony=czarny I chciałbym aby ten rysunek "czar=czerw=czar" był jeszcze w skali szarości :o pomocy... xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 Chyba nie rozumiesz na czym polega blending. ;P Nie zamienisz zielonego, na szary bez podmiany tych kolorów. Znowu szary na zielony bardzo łatwo podmienić, wystarczy tylko narzucić na niego inny kolor - czyli blending spritów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 15 Października 2007 Autor Udostępnij Opublikowano 15 Października 2007 Dobra, zrobię tak xDD Ktoś miał kiedyś skrypt, jak przerobić normalny kolorowy obrazek, na czarnobiały. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 15 Października 2007 Udostępnij Opublikowano 15 Października 2007 ja mam :) zaraz go ci tu zapodam :P //Monochrome by GearGOD //Arguments: source sprite, fore, back //Return: sprite handle //Use: will return a monochrome version of sprite //where fore replaces white and back replaces black //Eg: monochrome(sprite,c_white,c_black) will return a black and white copy //and monochrome(sprite,c_blakc,c_white) will return an inverted b/w copy var w,h,asp,tsp; w = sprite_get_width(argument0) h = sprite_get_height(argument0) draw_clear(argument1) asp = sprite_create_from_screen(0,0,w,h,0,0,0,1,0,0) sprite_set_alpha_from_sprite(asp,argument0) draw_clear(argument2) draw_sprite(asp,0,0,0) sprite_delete(asp) asp = sprite_create_from_screen(0,0,w,h,0,0,0,1,sprite_get_xoffset(argument0),sprite_get_yoffset(argument0)) draw_clear(c_black) d3d_set_fog(1,c_white,0,0) draw_sprite(argument0,0,sprite_get_xoffset(argument0),sprite_get_yoffset(argument0)) d3d_set_fog(0,c_white,0,0) tsp = sprite_create_from_screen(0,0,w,h,0,0,0,1,0,0) sprite_set_alpha_from_sprite(asp,tsp) sprite_delete(tsp) return asp to nie mój skrypt wiec wiesz :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 15 Października 2007 Autor Udostępnij Opublikowano 15 Października 2007 To ty go miałeś! a myślałem że Tymon xD Dzięki! W końcu zrobiłem, to co chciałem! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 15 Października 2007 Filar Społeczności Udostępnij Opublikowano 15 Października 2007 Cekol, w tym problemie co przedstawiłeś na rysunku, to na takim spricie wystarczy narysować po prostu czerwony kwadrat z odpowiednim blendingiem i tyle, czyli tak jak zaproponował Tymon. draw_set_color( c_red ); draw_set_blend_mode_ext( bm_zero, bm_src_color ); draw_rectangle(x,y,w,h,0); //przywracanie domyslnych wartosci draw_set_color( c_white ); draw_set_blend_mode( bm_normal ); I będziesz miał dokładnie ten sam efekt co po prawej stronie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się