[OK ] découpe automatique d'images
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: [OK ] découpe automatique d'images
Joli code Fig. Merci du partage.
Un petit commentaire : Le code plante si lors du choix de l'image on renonce à le faire.
Un petit commentaire : Le code plante si lors du choix de l'image on renonce à le faire.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: [OK ] découpe automatique d'images
Merci falsam.
Pour le reste... ce n'est pas un logiciel.
Libre à ceux qui le veulent de rajouter la sauvegarde des sprites et les ouvertures de fichiers bulletproofs...
Pour le reste... ce n'est pas un logiciel.
Libre à ceux qui le veulent de rajouter la sauvegarde des sprites et les ouvertures de fichiers bulletproofs...

Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Version de PB : 6.00LTS - 64 bits
Re: [OK ] découpe automatique d'images
Oui je ne dis pas le contraire, mais je suis tête en l'air et tu vois, je n'ai pas fait attention...blendman a écrit :je trouve ça bien d'avoir séparer, tu peux avoir besoin de decoder uniquement ou d'encoder uniquement
En séparant, ça permet de n'inclure que les libs ou les commandes dont tu te sers réellement ^^.
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Version de PB : 6.00LTS - 64 bits
Re: [OK ] découpe automatique d'images
Mince alors, j'ai une méga image et je cherche un logiciel pour faire ça 
Mon image est méga grande env 24 000 * 9000.
Marche pas avec ton logiciel.

Mon image est méga grande env 24 000 * 9000.
Marche pas avec ton logiciel.
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: [OK ] découpe automatique d'images
@shadow
Et tu peux pas le faire avec gimp ? Ou même avec Faststone image viewer ?
pour rappel :
Et tu peux pas le faire avec gimp ? Ou même avec Faststone image viewer ?
pour rappel :
La doc a écrit :La taille maximale de l'image est fonction du système d'exploitation et de la quantité de mémoire disponible. Si la mémoire disponible est suffisante alors une image de 8192x8192 peut être traitée par tous les systèmes d'exploitation pris en charge par PureBasic
~~~~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: [OK ] découpe automatique d'images
je crois que cela ne concerne que la compilation en 32 bits !!Ar-S a écrit :Si la mémoire disponible est suffisante alors une image de 8192x8192 peut être traitée par tous les systèmes d'exploitation pris en charge par PureBasic
en 64 bits , no limites !!

Re: [OK ] découpe automatique d'images
Ah bon ? (enfin déjà limite mémoire) mais je suis surpris là.
~~~~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: [OK ] découpe automatique d'images
Il as raison, merci.
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: [OK ] découpe automatique d'images
ha bah non ! ça ne marche pasAr-S a écrit :Ah bon ? (enfin déjà limite mémoire) mais je suis surpris là.
j'ai pourtant eu un code pour charger une grosse image et faire un flou dessus
qui fonctionnait , il me semble meme que c'est Fred lui meme qui m'avait dit qu'en 64 bits
pas de problemes .... ai-je révé ??
d'habitude ma memoire ne me fait pas defaut a ce point.... bizarre ....
ou alors c'est parceque j'etais sous Windows 10 a l'epoque ....??
Fred aborde le sujet ici :
http://forums.purebasic.com/english/vie ... eeb1b67b2c
..... oui il semble bien que ce soit la nouvelle version de windows (la 10) qui permet de repousser les limites des 8192x8192
Fred semble le dire ici :
http://forums.purebasic.com/english/vie ... eeb1b67b2c
testez ce code en compilation 64 bits avec windows 10
Code : Tout sélectionner
; a tester en compilation 64 bits sous windows 10
x= 40000
y= 40000
; pour les autres :
;x= 3000
;y= 3000
If OpenWindow(0, 0, 0, 800, 600, "CreateImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScrollAreaGadget( #PB_Any, 10, 10, 800-30,600-30, x, y, 30)
imggadget=ImageGadget(#PB_Any, 0, 0, x, y, 0)
CloseGadgetList()
img = CreateImage(#PB_Any, x,y,32)
StartDrawing(ImageOutput(img )) ; get the dc of the dummy PB image
for i=1 to 1000
circle(random(x,1),random(y,1),10,rgb(random(255,1),random(255,1),random(255,1)))
Next i
StopDrawing()
SetGadgetState(imggadget, ImageID(img)) ; Affichage
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Re: [OK ] découpe automatique d'images
Windows 10 x64 - PB 5.50 - RAM 16 Go
Si on supprime les gadgets (au cas où ceux-ci ne supportent pas)
CreateImage ne supporte pas non-plus
Par approche dichotomique, voici la plus grande taille avant message d'erreur.

Code : Tout sélectionner
Attente du démarrage du programme...
Type d'exécutable: Windows - x64 (64bit, Unicode)
Exécutable démarré.
[ERREUR] Ligne: 11
[ERREUR] La largeur maximale d'un Gadget est de 32767 pixels.
Code : Tout sélectionner
; ScrollAreaGadget( #PB_Any, 10, 10, 800-30,600-30, x, y, 30)
; imggadget=ImageGadget(#PB_Any, 0, 0, x, y, 0)
; CloseGadgetList()
Code : Tout sélectionner
Attente du démarrage du programme...
Type d'exécutable: Windows - x64 (64bit, Unicode)
Exécutable démarré.
[ERREUR] Ligne: 15
[ERREUR] CreateImage(): La largeur de l'image est > à 32000 pixels.
Le programme a été arrêté.
Code : Tout sélectionner
x= 32000
y= 16777

Re: [OK ] découpe automatique d'images
J'ai créé une image avec un dégradée de 32500x17000
Si cette image n'est pas "affichable", je n'ai cependant pas de soucis pour la charger. Donc pour en revenir à
Dans cet exemple je charge ma grosse image 0 de 32500x17000
Je la coupe en partant de x 0 et y 0 en 1920x1080

---edit---
Je n'avais pas fait gaffe que c'etait le topic de Blendman sur le détourage..
Shadow c'est quoi encore ce projet de détourer une image aussi grande !?
Utilise des softs dédiées comme GIMP, il doit bien pouvoir le faire, ou installe une version d'essai de photoshop (valable 30j).
Si cette image n'est pas "affichable", je n'ai cependant pas de soucis pour la charger. Donc pour en revenir à
Tu peux la charger si ton PC a assez de RAM et que ton PB est en 64bits et tu peux la découper à ta convenance.shadow a écrit :j'ai une méga image et je cherche un logiciel pour faire ça Mon image est méga grande env 24 000 * 9000.
Dans cet exemple je charge ma grosse image 0 de 32500x17000
Je la coupe en partant de x 0 et y 0 en 1920x1080

Code : Tout sélectionner
; Ar-S // PB 5.50 x64
UseJPEGImageDecoder()
UseJPEGImageEncoder()
Global in.s = "D:\Pics\__Temp\testmega.jpg" ; chemin de ta grosse image
Global out.s = "D:\Pics\__Temp\testmega_crop.jpg" ; chemin de ta grosse image
If LoadImage(0,in) <> 0
Debug "image chargée"
Debug "je découpe"
If GrabImage(0, 1, 0, 0, 1920, 1080) <> 0 ; Coupe l'image
Debug "découpage effectué"
Debug "Je sauve..."
If SaveImage(1,out.s,#PB_ImagePlugin_JPEG)
MessageRequester("OK","Image 1920x1080 sauvée dans "+out.s)
Else
Debug "Sauvegarde imposible"
EndIf
Else
Debug"Le découpage chie"
EndIf
Else
Debug "image impossible à charger"
EndIf
FreeImage(0)
FreeImage(1)
Je n'avais pas fait gaffe que c'etait le topic de Blendman sur le détourage..
Shadow c'est quoi encore ce projet de détourer une image aussi grande !?
Utilise des softs dédiées comme GIMP, il doit bien pouvoir le faire, ou installe une version d'essai de photoshop (valable 30j).
~~~~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