Bonsoir,

voilà je suis sur un project de modification d'image, le principe c'est que je charge pixel par par pixel (d une image de 128x128)

dans une matrice (tableau deux dimension)


et j'essaie de fair un photomaton:

en faite j'ai mon image, et a chaque je la divise en 4,

donc le prmeeir coup j ai mon image, le euxieme j en ai 4 etc...

j'ai reussi a faire pour 4, mais apres pour continuer a diviser je bloque :S



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  for I in 1..(128-1) loop
         for J in 1..(128-1) loop
 
            if I mod 2 = 1  then
              if J mod  2 = 1 then
 
               -- Dans la combien tieme case on est?
                 PlaceCaseX := Integer((Float(J) /2.0)+0.5); -- en X
                 PlaceCaseY := Integer((Float(I) /2.0)+0.5); -- en Y
 
 
 
                 MatriceResultat(PlaceCaseX,PlaceCaseY) := Matrice(J,I);
 
       MatriceResultat(PlaceCaseX+(128/2),PlaceCaseY):= Matrice(J+1,I);
      MatriceResultat(PlaceCaseX,PlaceCaseY+(128/2)) := Matrice(J,I+1);
      MatriceResultat(PlaceCaseX+(128/2),PlaceCaseY+(128/2)):= Matrice(J+1,I+1);
end if;
            end if;
 
         end loop;
      end loop;
donc la je balaye ma matrice par bloque de quatre:

et je fait mon photomaton

mais comment fair epour generaliser ça pour faire a l infinie?

d'avance merci