Oui il faut utiliser paintpicture mais a ma connaisance il est impossible de passer directement un paintpicture dans un objet StdPicture....
Voici un petit exemple vite fait qui Decoupe une image en 4 partie.
Il faut placer un picture1 qui servira a recevoir l'image de depart
Une picturetemp qui recevra les partie de l'image découper afin de les placer dans le tableau d'image Partie.
A la fin du code j'utilise 4 controle image (strecth = true) afin d'afficher les 4 partie.
Dim Partie(1 To 4) As StdPicture
Private Sub Form_Load()
'affichage de l'image dans picture1
Picture1.AutoSize = True
Picture1.Picture = LoadPicture("c:/image.jpg")
'Recuperation des 4 parties
PictureTemp.AutoRedraw = True
'Haut gauche
PictureTemp.Cls
PictureTemp.PaintPicture Picture1, 0, 0, PictureTemp.ScaleWidth, PictureTemp.ScaleHeight, 0, 0, Picture1.Width / 2, Picture1.Height / 2
Set partie1 = PictureTemp.Image
'Haut droit
PictureTemp.Cls
PictureTemp.PaintPicture Picture1.Image, 0, 0, PictureTemp.ScaleWidth, PictureTemp.ScaleHeight, Picture1.ScaleWidth / 2, 0, Picture1.ScaleWidth / 2, Picture1.ScaleHeight / 2
Set partie2 = PictureTemp.Image
'bas gauche
PictureTemp.Cls
PictureTemp.PaintPicture Picture1.Image, 0, 0, PictureTemp.ScaleWidth, PictureTemp.ScaleHeight, 0, Picture1.ScaleWidth / 2, Picture1.ScaleWidth / 2, Picture1.ScaleHeight / 2
Set partie3 = PictureTemp.Image
'bas gauche
PictureTemp.Cls
PictureTemp.PaintPicture Picture1.Image, 0, 0, PictureTemp.ScaleWidth, PictureTemp.ScaleHeight, Picture1.ScaleWidth / 2, Picture1.ScaleWidth / 2, Picture1.ScaleWidth / 2, Picture1.ScaleHeight / 2
Set partie4 = PictureTemp.Image
'chargement des partie
Image1.Stretch = True
Image1.Picture = partie1
Image2.Stretch = True
Image2.Picture = partie2
Image3.Stretch = True
Image3.Picture = partie3
Image4.Stretch = True
Image4.Picture = partie4
Voila c'est un exemple!!! Si qq connait un moyen de charger directement dans un objet stdpicture une partie de l'image????
Ps: peu etre du coté des apis (Bitblt ????)
++