iImage1 est une Image
iImage2 est une Image
tabPixels est un tableau de * par * entiers sans signe sur 1
tabPixels_dImageVersTableau est un tableau de * par * entiers
nX, nY sont des entiers
nConstante est un entier
Â
iImage1.Largeur = IMG_DessinInitial.Largeur
iImage1.Hauteur = IMG_DessinInitial.Hauteur
nConstante = GetOptionsTransfertVersImage()
bOpacité est un booléen = (nConstante=imgBVRA)
Â
dDébutDessin(iImage1, dEffacer + (bOpacité? dAvecOpacité SINON 0))
SI bOpacité ALORS
dFond(Blanc, 0, 0, 255); dStylo(Blanc, 0, 1, 255)
dRectangle(1, 1, iImage1.Largeur, iImage1.Hauteur)
dFond(Transparent, 0, 0, 255); dStylo(RougeClair, 0, 1, 255)
dRectangle(5, 5, iImage1.Largeur-5, iImage1.Hauteur-5)
dFond(JauneClair, 0, 0, 128); dStylo(BleuClair, 0, 10, 128)
dCercle(20 ,50,iImage1.Largeur-20, iImage1.Hauteur-50)
dFond(VertPastel, 0, 0, 128); dStylo(RougeClair, 0, 10, 128)
dCercle(45, 75, 95, 125)
SINON
dFond(Blanc, 0, 0); dStylo(BleuClair, 0, 1)
dRectangle(1, 1, iImage1.Largeur, iImage1.Hauteur)
dFond(Transparent, 0, 0); dStylo(RougeClair, 0, 1)
dRectangle(5, 5, iImage1.Largeur-5, iImage1.Hauteur-5)
dFond(JauneClair, 0, 0); dStylo(BleuClair, 0, 10)
dCercle(20,50,iImage1.Largeur-20, iImage1.Hauteur-50)
dFond(VertPastel, 0, 0); dStylo(RougeClair, 0, 10)
dCercle(45, 75, 95, 125)
FIN
IMG_DessinInitial = iImage1
Â
// Remplissage du tableau de pixels
SELON nConstante
CAS imgBVRA
Dimension(tabPixels, iImage1.Largeur, iImage1.Hauteur*4)
CAS imgBVR32
Dimension(tabPixels, iImage1.Largeur, iImage1.Hauteur*4)
CAS imgBVR
Dimension(tabPixels, iImage1.Largeur, iImage1.Hauteur*3)
CAS imgRVB32
Dimension(tabPixels, iImage1.Largeur, iImage1.Hauteur*4)
bufBuffer est un Buffer = dSauveImagePNG(iImage1, enMémoire)
dImageVersTableau(bufBuffer, tabPixels_dImageVersTableau, dComposanteRVB)
FIN
Â
POUR nX = 1 _À_ iImage1.Largeur
POUR nY = 1 _À_ iImage1.Hauteur
SELON nConstante
CAS imgBVRA
tabPixels[nX,((nY-1)*4)+1] = iImage1.Pixel[nX,nY].Bleu
tabPixels[nX,((nY-1)*4)+2] = iImage1.Pixel[nX,nY].Vert
tabPixels[nX,((nY-1)*4)+3] = iImage1.Pixel[nX,nY].Rouge
tabPixels[nX,((nY-1)*4)+4] = iImage1.Pixel[nX,nY].Opacité
CAS imgBVR32
tabPixels[nX,((nY-1)*4)+1] = iImage1.Pixel[nX,nY].Bleu
tabPixels[nX,((nY-1)*4)+2] = iImage1.Pixel[nX,nY].Vert
tabPixels[nX,((nY-1)*4)+3] = iImage1.Pixel[nX,nY].Rouge
tabPixels[nX,((nY-1)*4)+4] = 255
CAS imgBVR
tabPixels[nX,((nY-1)*3)+1] = iImage1.Pixel[nX,nY].Bleu
tabPixels[nX,((nY-1)*3)+2] = iImage1.Pixel[nX,nY].Vert
tabPixels[nX,((nY-1)*3)+3] = iImage1.Pixel[nX,nY].Rouge
CAS imgRVB32
tabPixels[nX,((nY-1)*4)+1] = iImage1.Pixel[nX,nY].Rouge
tabPixels[nX,((nY-1)*4)+2] = iImage1.Pixel[nX,nY].Vert
tabPixels[nX,((nY-1)*4)+3] = iImage1.Pixel[nX,nY].Bleu
tabPixels[nX,((nY-1)*4)+4] = 255
FIN
FIN
FIN
Â
// Tableau tabPixels vers la variable iImage2
SI nConstante = imgRVB32 ALORS
iImage2 = dTransfertVersImage(&tabPixels_dImageVersTableau, nConstante, ...
iImage1.Largeur, iImage1.Hauteur)
SINON
iImage2 = dTransfertVersImage(&tabPixels, nConstante, iImage1.Largeur, ...
iImage1.Hauteur)
FIN
IMG_TransfertVersImage = iImage2