1 Dobivanje slike iz matrice

(%i1) M:matrix([1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1],
        [1,1,1,1,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,0,1,0],
        [1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,0,1,0,1,0,1,1,0,0,0,1,0],
        [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0],
        [1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0],
        [1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0],
        [1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0],
        [1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0],
        [1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0],
        [1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1],
        [1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0],
        [1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0],
        [1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0],
        [1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0],
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,0,0,1,0,0],
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0],
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0]);
(M)	matrix(<BR>
		[1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	0,	0,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	1],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	0,	1,	0,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	1,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	1,	0,	0,	0,	1,	0,	1,	0,	1,	0,	1,	1,	0,	0,	0,	1,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	0,	0,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	0,	0,	0,	0,	1,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	1,	1,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	1,	1,	1,	0,	0,	1,	0,	0,	0,	0,	1,	0,	1,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	1,	1,	1,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	1,	0,	1,	0,	0,	0,	0,	1,	0,	1,	0,	1,	0],<BR>
		[1,	1,	1,	1,	0,	1,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	1,	1],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	1,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	1,	1,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	1,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	0,	1,	1,	1,	1,	1,	0,	1,	0,	0,	0,	1,	0,	0,	1,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	1,	0,	1,	1,	1,	0,	0,	0,	1,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0],<BR>
		[1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0]<BR>
	)

Matrica M je tipa (27,27)

(%i2) matrix_size(M);
(%o2)	[27,27]

Učitavanje paketa potrebnog za crtanje

(%i3) load(draw)$

Kreiranje slike iz matrice M

(%i4) slika:image(M,0,0,27,27)$

Jedinica u matrici predstavlja bijelu boju, a nula crnu boju.

(%i5) wxdraw2d(palette=gray,slika);
(%t5)
 (Graphics)
(%o5)

ako želimo da se slika nacrta u novom prozoru

(%i6) draw2d(palette=gray,slika);
(%o6)	[gr2d(image)]

Možemo prikazati sliku u boji.
Bit će prisutne samo dvije boje jer u matrici M imamo samo dvije različite vrijednosti.

(%i7) wxdraw2d(palette=color,slika);
(%t7)
 (Graphics)
(%o7)

Možemo birati svoje boje tako da u opciji palette stavimo tri broja koji definiraju način
pridruživanja crvene, zelene i plave boje. Brojevi mogu biti između -36 i 36.

(%i8) wxdraw2d(palette=[1,23,8],slika);
(%t8)
 (Graphics)
(%o8)

2 Učitavanje slika u xpm formatu

Ukoliko vaša slika nije u xpm formatu pomoću besplatnog programa za obradu slika GIMP
možete ju pretvoriti u xpm format. Slika mora biti u tekućem maxima direktoriju ili
morate napisati punu stazu do odgovarajuće slike.

(%i9) slika2:read_xpm("gatos.xpm")$
(%i10) wxdraw2d(image(slika2,0,0,8,5))$
(%t10)
 (Graphics)
(%i11) slika3:rgb2level(slika2)$
(%i12) wxdraw2d(image(slika3,0,0,8,5))$
(%t12)
 (Graphics)
(%i13) wxdraw2d(palette=gray,image(slika3,0,0,8,5))$
(%t13)
 (Graphics)

budite strpljivi kod učitavanja i prikazivanja donje slike

(%i14) proba:read_xpm("free.xpm")$
(%i15) wxdraw2d(image(proba,0,0,5,5));
(%t15)
 (Graphics)
(%o15)

Created with wxMaxima.