ostatnio zrobiłem eksperyment i chciałem przerzucić obraz na liczbę(albo na coś innego)
,a później znowu na obraz i zobaczyć przekształcenie ,ale nie udało się . później wymyśliłem , aby połączyć kilka obrazów w jeden . jedynym pomysłem było zsumowanie kolorów danych pixeli i narysowaniu pixela na takiej samej pozycji o takim kolorze
oto kod (jest napisany poprawnie)
#include <allegro.h>
#include <math.h>
int main()
{
allegro_init();
install_timer();
install_keyboard();
set_color_depth( 32 );
set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 );
install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" );
set_volume( 255, 255 );
BITMAP * przed1;
BITMAP * przed2;
BITMAP * przed3;
BITMAP * po;
przed1 = load_bmp( "kula.bmp", default_palette );
przed2 = load_bmp( "kula2.bmp", default_palette );
przed3 = load_bmp( "kula3.bmp", default_palette );
po = create_bitmap( 255, 255 );
int i = 0;
int a = 0;
clear_to_color( po, makecol( 255, 255, 255 ) );
while( !key[ KEY_A ] )
{
if( i >= 255 )
{ i = 1; a++; }
i++;
putpixel( po, a, i, getpixel( przed1, a, i ) +
getpixel( przed2, a, i ) +
getpixel( przed3, a, i ) );
blit( po, screen, 0, 0, 100, 100, 255, 255 );
}
save_bmp( "kula3.bmp", po, default_palette );
destroy_bitmap( przed1 );
destroy_bitmap( przed2 );
destroy_bitmap( przed3 );
destroy_bitmap( po );
}
END_OF_MAIN()
byłem zaskoczony że kolory można dodawać , czyli że kolor w allegro jest wyrażony za pomocą liczb. zrobiłem parę prób i rzeczywiście można .
później chciałem zobaczyć w jakiś sposób ta liczba jest przerzucana na kolor .
zadeklarowałem zmienną c , i za każdym razem dodawałem ją o 1. wychodziły mi jedynie kolory czarno-niebieskie . zastanawiam się jak te liczby są przerzucane na kolor ,bo to niema żadnej logiki.
oto kilka eksperymentów z tworzeniem różnych obrazów
putpixel( po, a, i, i * i + a * a );
putpixel( po, a, i, i * i * a );
putpixel( po, a, i, i * i / a * a );
link do paczki
http://rapidshare.com/files/419609200/test_teleport.rar
ktoś wie coś o tym bo dla mnie to nowość.