it sounds like you need to detect each pixels' color(using point is slow but simple) and then convert them into matrix textures. here is an example, if there is anything you dont understand just post here again.
REM Project: Texturing Matrix 014
REM Created: 30/10/2004 20:15:19
REM
REM ***** Main Source File *****
REM
`standard set-up
sync on:sync rate 30
hide mouse
`variables
global Mapsize=128:`this is the size of your image
dim TextureNo(Mapsize*Mapsize):`this holds the texture numbers for each square
`loading screen
set text size 36
center text screen width()/2,screen height()/2,"LOADING"
`sync:sync
`make matrix
make matrix 1,1280,1280,128,128
`load images
`load texture as image
load image "Matrix Texture.bmp",1
`load map as a bitmap
load bitmap "Map.bmp",1
`make matrix texture
prepare matrix texture 1,1,2,2
`Render - see the functions
GetTextures(1)
DrawMatrix(1)
update matrix 1
`position camera
position camera 640,10,640
`main loop
do
control camera using arrowkeys 0,2,3
DrawMatrix(1)
sync
loop
function GetTextures(MapNo)
set current bitmap MapNo
i=0
`get all the pixels
for x=0 to 127
for y=0 to 127
inc i
`get the color
Color=point(x,y)
`convert the color to texture no's
if Color=rgb(0,128,0) then TextureNo(i)=1
if Color=rgb(255,255,0) then TextureNo(i)=2
if Color=rgb(0,0,0) then TextureNo(i)=3
if Color=rgb(0,0,255) then TextureNo(i)=4
if TextureNo(i)=0 then TextureNo(i)=4
next y
next x
endfunction
function DrawMatrix(MatrixNo)
i=0
for y=0 to 127
for x=0 to 127
inc i
`texture the matrix
set matrix tile MatrixNo,x,y,TextureNo(i)
next y
next x
update matrix MatrixNo
endfunction
hope this helps
p.s. you will need the attatchments to run it properly
Part of solving the problem is actually noticing that the problem is there in the first place