Soft Découpe d'image
Soft Découpe d'image
Rebonjour à tous, ça fessais un moment, je ne fais que passé ne tirez pas !!!
Je sais plus si ça déjà été dis...
Existe t-il un soft qui permet la découpe d'image en d'autres images...
Par exemple une image composer d'objets, le soft va découper chaque objet et les mettre dans
chaque image séparer en les nommant...
Dobro avait fais un soft comme ça mais ça ne fonctionne pas pour mes images à moi.
Je voudrait découper toutes ces images:
https://www.aht.li/3102524/Pieces_Donjon.png
Il semble ne pas exister de programme pour faire ça, sur le net...
Je sais plus si ça déjà été dis...
Existe t-il un soft qui permet la découpe d'image en d'autres images...
Par exemple une image composer d'objets, le soft va découper chaque objet et les mettre dans
chaque image séparer en les nommant...
Dobro avait fais un soft comme ça mais ça ne fonctionne pas pour mes images à moi.
Je voudrait découper toutes ces images:
https://www.aht.li/3102524/Pieces_Donjon.png
Il semble ne pas exister de programme pour faire ça, sur le net...
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Re: Soft Découpe d'image
Il existe surement des tas de soft pour faire ça.
Recherche dans le forum du coté de grabimage()
img_cut3 de zorro par ici : http://www.purebasic.fr/french/viewtopi ... ge#p191294
Recherche dans le forum du coté de grabimage()
img_cut3 de zorro par ici : http://www.purebasic.fr/french/viewtopi ... ge#p191294
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Soft Découpe d'image
J'ai dis que le logiciel de dobro img_cut3 ne fonctionne pas sur cette image.
Merci quand même.
Merci quand même.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Re: Soft Découpe d'image
J'ai passer des heures à cherche un logiciel mais on dirait que ça n’existe pas 

Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Re: Soft Découpe d'image
Code le en purebasic 

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Soft Découpe d'image
Franchement tu vas encore galérer à tenter de faire un truc du genre. Ce n'est pas facile...
Je te propose une autre orientation.
Normalement une planche de sprite ou de dessins de donjon dans ton cas est utilisable
- Soit en indiquant les valeur x et y de chaque image. Et ça c'est long
- Soit on fait en sorte que les sprites soient dans des cases de même largeur / hauteur
Cette seconde solution est bien plus simple si tu désires ensuite découper tes images...
En prenant ces 4 images que j'ai mis dans des bloc de 256x256

Voilà un code te permettant de les découper et de les sauver de façon auto.
Ce sera ma seule contribution à ce topic, je n'ai absolument pas le temps d'en faire plus.
Bonne chance.
Je te propose une autre orientation.
Normalement une planche de sprite ou de dessins de donjon dans ton cas est utilisable
- Soit en indiquant les valeur x et y de chaque image. Et ça c'est long
- Soit on fait en sorte que les sprites soient dans des cases de même largeur / hauteur
Cette seconde solution est bien plus simple si tu désires ensuite découper tes images...
En prenant ces 4 images que j'ai mis dans des bloc de 256x256

Voilà un code te permettant de les découper et de les sauver de façon auto.
Code : Tout sélectionner
; Imagetest : "http://share.ldvmultimedia.com/pieces_donjon2.png"
UsePNGImageDecoder()
UsePNGImageEncoder()
Image = LoadImage(#PB_Any,"D:\OneDrive\Documents\PB\pieces_donjon2.png")
Macro GrabSave(IDim, PosX, PosY, La, Ha)
;Ar-S
StartDrawing(ImageOutput(Image))
NewImage = GrabDrawingImage(#PB_Any,PosX,PosY,La ,Ha)
Resultat = SaveImage(NewImage, GetCurrentDirectory()+"image"+Str(IDim)+".png" , #PB_ImagePlugin_PNG)
StopDrawing()
EndMacro
nombredimage_surmaligne = 4
L = 256 ;largeurduneimage ; a toi de voir la largeur d'une des images à capturer
H = 256 ;hauteurduneimage ; a toi de voir la hauteur d'une des images à capturer
NBR = 1
For i = 0 To nombredimage_surmaligne-1
Debug x
GrabSave(i, x, 0, L, H)
x+256
Next
Bonne chance.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Soft Découpe d'image
Merci Ar's et tu as raison, c'est ce que j'ai fait, les cases !
Sinon je vais tenter de faire un soft de découpe ou ya pas besoin de case mais seulement au moins 1 pixel de vide autour de l'image.
Je ne vais pas faire un soft comme dobro qui est je pense plus pointu.
Moi je vais juste chercher ou se situe cette marge et découper, on va bien voir...
Sinon je vais tenter de faire un soft de découpe ou ya pas besoin de case mais seulement au moins 1 pixel de vide autour de l'image.
Je ne vais pas faire un soft comme dobro qui est je pense plus pointu.
Moi je vais juste chercher ou se situe cette marge et découper, on va bien voir...
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.
PureBasic: 5.60 x64 Bits.
Re: Soft Découpe d'image
Shadow essaye de faire une decoupe de son image en utilisant mon code de decoupe ...
mais il oubli de préciser que son image est .... transparente !!
voici en réalité son image

ce qu'il s'est bien garder de préciser .....
mon code etant basé sur le systeme de remplissage de Purebasic , et du systeme de lecture de la couleur d'un pixel ....
j'ai bien dit de la couleur des pixels, pas de la transparence ....
donc forcement, mon code ne peut pas marcher sur ce type d'image !!!
deuxieme difficulté ... mon code decoupe une portion d'image en utilisant une couleur de remplissage spécifique
c'est cette couleur qui fait office de Masque !
hors dans son image, le seul remplissage possible ce sont les traits....
mais comme ceux ci ne font qu'un pixel d’Épaisseur, la fonction "Fill()" de Purebasic s'arrete au moindre decalage de ligne de pixel
bref ... mon prg , ne peux en l'etat pas decouper ce genre d'image !
sauf peut etre si on epaissi le trait de ses pieces ... (je vais faire un essai pour voir )
mais il oubli de préciser que son image est .... transparente !!
voici en réalité son image

ce qu'il s'est bien garder de préciser .....
mon code etant basé sur le systeme de remplissage de Purebasic , et du systeme de lecture de la couleur d'un pixel ....
j'ai bien dit de la couleur des pixels, pas de la transparence ....
donc forcement, mon code ne peut pas marcher sur ce type d'image !!!
deuxieme difficulté ... mon code decoupe une portion d'image en utilisant une couleur de remplissage spécifique
c'est cette couleur qui fait office de Masque !
hors dans son image, le seul remplissage possible ce sont les traits....
mais comme ceux ci ne font qu'un pixel d’Épaisseur, la fonction "Fill()" de Purebasic s'arrete au moindre decalage de ligne de pixel
bref ... mon prg , ne peux en l'etat pas decouper ce genre d'image !
sauf peut etre si on epaissi le trait de ses pieces ... (je vais faire un essai pour voir )
Re: Soft Découpe d'image
comme je le présumais, c'est bien la faible largeur de ses traits qui empeche
mon algo de fonctionner
en mettant une epaisseur aux traits (j'ai en fait rempli l'epaiseur vide de ses pieces )
voici la preuve que ça fonctionne
https://www.youtube.com/watch?v=aqNrzW0 ... e=youtu.be
mon algo de fonctionner
en mettant une epaisseur aux traits (j'ai en fait rempli l'epaiseur vide de ses pieces )
voici la preuve que ça fonctionne

https://www.youtube.com/watch?v=aqNrzW0 ... e=youtu.be
Re: Soft Découpe d'image
je sais que c'est comme donner du lard a un cochon...
Code : Tout sélectionner
InitSprite()
UsePNGImageDecoder()
UsePNGImageEncoder()
i=LoadImage(#PB_Any,"Pieces_Donjon.png") ; image de travail
t=LoadImage(#PB_Any,"Pieces_Donjon.png") ; image de decoupage
Structure cut
x.i
y.i
l.i
h.i
pic.i
EndStructure
NewList pt.coord()
NewList ct.cut()
StartDrawing(ImageOutput(i))
x=0
y=0
c=Point(x,y) ; bg color
Repeat
fnd=0
For y=0 To ImageHeight(i)-1
If Point(x,y)<>c
Plot(x,y,$ffffff)
fnd=1:Break
EndIf
Next
If fnd=1 ; object found
AddElement(pt())
pt()\x=x
pt()\y=y
minx=x
miny=y
maxx=x
maxy=y
start:
ForEach pt()
If pt()\x< minx
minx=pt()\x
EndIf
If pt()\x> maxx
maxx=pt()\x
EndIf
If pt()\y< miny
miny=pt()\y
EndIf
If pt()\y> maxy
maxy=pt()\y
EndIf
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
xx=pt()\x
yy=pt()\y
DeleteElement(pt())
range=2
For rng=1 To range
If Point(xx-rng,yy)<>c
AddElement(pt())
pt()\x=xx-rng
pt()\y=yy
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx+rng,yy)<>c
AddElement(pt())
pt()\x=xx+rng
pt()\y=yy
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx,yy-rng)<>c
AddElement(pt())
pt()\x=xx
pt()\y=yy-rng
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx,yy+1)<>c
AddElement(pt())
pt()\x=xx
pt()\y=yy+rng
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx-1,yy-rng)<>c
AddElement(pt())
pt()\x=xx-rng
pt()\y=yy-rng
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx+1,yy+1)<>c
AddElement(pt())
pt()\x=xx+rng
pt()\y=yy+rng
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx+rng,yy-rng)<>c
AddElement(pt())
pt()\x=xx+rng
pt()\y=yy-rng
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
If Point(xx-rng,yy+rng)<>c
AddElement(pt())
pt()\x=xx-rng
pt()\y=yy+rng
Plot(pt()\x,pt()\y,c) ; efface le point dans l'image
EndIf
Next
Next
If ListSize(pt())
Goto start
Else
; Goto exit
Debug Str(minx)+","+Str(miny)+","+Str(maxx)+","+Str(maxy)
AddElement(ct())
ct()\x=minx
ct()\y=miny
ct()\l=maxx-minx+1
ct()\h=maxy-miny+1
EndIf
EndIf
x+1
Until x=ImageWidth(i) And y= ImageHeight(i)
StopDrawing()
SaveImage(i,"output.png",#PB_ImagePlugin_PNG)
ForEach ct()
ct()\pic=GrabImage(t,#PB_Any,ct()\x,ct()\y,ct()\l,ct()\h)
SaveImage(ct()\pic,"cutout_"+Str(ListIndex(ct()))+".png",#PB_ImagePlugin_PNG)
Next
Dernière modification par case le mer. 09/août/2017 19:00, modifié 1 fois.
Re: Soft Découpe d'image
Gruic, très propre 

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Soft Découpe d'image
Ou : "donner un code a une tete de lard"je sais que c'est comme donner du lard a un cochon...



OK, JE SORS

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Soft Découpe d'image
Je peux pas exécuter ton lard, faute de câble : c'est un fill fait maison qui remplit des figures fines (type trait, cercle, courbes, etc...) ?case a écrit :je sais que c'est comme donner du lard a un cochon...
Re: Soft Découpe d'image
oui en quelque sorte un espèce de flood-fill mais grossier avec lequel en recuperant les valeurs minimum et maximum remplies j'obtiens les coordonnes de découpeOllivier a écrit :Je peux pas exécuter ton lard, faute de câble : c'est un fill fait maison qui remplit des figures fines (type trait, cercle, courbes, etc...) ?case a écrit :je sais que c'est comme donner du lard a un cochon...
maintenant j’attends de voir ce qu'en fera shadok si il projette de faire quelque chose avec ça et qu'il coince pour une simple découpe
alors qu'il pourrait aussi simplement entrer les coordonnes a la main j'ai peur pour la suite
