Skocz do zawartości

Oddzielanie koloru z rysunku?


Cekol

Rekomendowane odpowiedzi

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

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

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

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

 

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

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

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

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

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

  • Filar Społeczności

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...