[OK ] découpe automatique d'images

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [OK ] découpe automatique d'images

Message par falsam »

Joli code Fig. Merci du partage.

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%
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: [OK ] découpe automatique d'images

Message par Fig »

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... :mrgreen:
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
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: [OK ] découpe automatique d'images

Message par Fig »

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 ^^.
Oui je ne dis pas le contraire, mais je suis tête en l'air et tu vois, je n'ai pas fait attention...
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
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: [OK ] découpe automatique d'images

Message par Shadow »

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.
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.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [OK ] découpe automatique d'images

Message par Ar-S »

@shadow

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
Avatar de l’utilisateur
Zorro
Messages : 2186
Inscription : mar. 31/mai/2016 9:06

Re: [OK ] découpe automatique d'images

Message par Zorro »

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
je crois que cela ne concerne que la compilation en 32 bits !!

en 64 bits , no limites !! :)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [OK ] découpe automatique d'images

Message par Ar-S »

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
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: [OK ] découpe automatique d'images

Message par Shadow »

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.
Avatar de l’utilisateur
Zorro
Messages : 2186
Inscription : mar. 31/mai/2016 9:06

Re: [OK ] découpe automatique d'images

Message par Zorro »

Ar-S a écrit :Ah bon ? (enfin déjà limite mémoire) mais je suis surpris là.
ha bah non ! ça ne marche pas

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




Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: [OK ] découpe automatique d'images

Message par Marc56 »

Windows 10 x64 - PB 5.50 - RAM 16 Go

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.
Si on supprime les gadgets (au cas où ceux-ci ne supportent pas)

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()
CreateImage ne supporte pas non-plus

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é.
Par approche dichotomique, voici la plus grande taille avant message d'erreur.

Code : Tout sélectionner

x= 32000
y= 16777
:wink:
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [OK ] découpe automatique d'images

Message par Ar-S »

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 à
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.
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.

Dans cet exemple je charge ma grosse image 0 de 32500x17000
Je la coupe en partant de x 0 et y 0 en 1920x1080

Image

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)
---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).
~~~~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
Répondre