[R] Découper une image et l'enregistrer
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- DJSIR
- Niveau 8

- Messages : 583
- Enregistré le : mar. 01 juil. 2008 15:16
- Localisation : 76, Le HAVRE (in the DJSIR World)
- Status : Hors ligne
[R] Découper une image et l'enregistrer
Bonjour.
J'ai un petit problème à résoudre.
J'ai ces deux images : J'ai besoin de les découper pour obtenir que la moitié de chaque. Exemple, je veux couper l'image 1 et l'image 2 de facon a obtenir une image de 50x100.
Une fois obtenue, il faut l'enregistrer... Possible ? Merci
J'ai un petit problème à résoudre.
J'ai ces deux images : J'ai besoin de les découper pour obtenir que la moitié de chaque. Exemple, je veux couper l'image 1 et l'image 2 de facon a obtenir une image de 50x100.
Une fois obtenue, il faut l'enregistrer... Possible ? Merci
Modifié en dernier par DJSIR le ven. 01 janv. 2010 17:25, modifié 3 fois.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
-
Habibsbib
- Niveau 7

- Messages : 393
- Enregistré le : dim. 30 août 2009 13:49
- Localisation : Euh...Verticale, entre le siège et l'écran...
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
Rigolo comme problème... je me demande qu'est-ce que tu veux faire avec ça ^^
Autrement, ben je vois pas... tu devrais te tourner du côté UDF's, sur le site amèricain il devrait bien y avoir quelquechose (non?^)
Je cherche...
Autrement, ben je vois pas... tu devrais te tourner du côté UDF's, sur le site amèricain il devrait bien y avoir quelquechose (non?^)
Je cherche...
- DJSIR
- Niveau 8

- Messages : 583
- Enregistré le : mar. 01 juil. 2008 15:16
- Localisation : 76, Le HAVRE (in the DJSIR World)
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
Réponse trouvée ici
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
-
Habibsbib
- Niveau 7

- Messages : 393
- Enregistré le : dim. 30 août 2009 13:49
- Localisation : Euh...Verticale, entre le siège et l'écran...
- Status : Hors ligne
Re: [R] Découper une image et l'enregistrer
Y a toujours quelque chose sur le fofo anglais 
- DJSIR
- Niveau 8

- Messages : 583
- Enregistré le : mar. 01 juil. 2008 15:16
- Localisation : 76, Le HAVRE (in the DJSIR World)
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
Sauf que...... <retour sur le forum>
Reprenons mon exemple.. L'image n°1 s'apelle sans.png. Normalement le fichier sans2 devrait être orange non?
Reprenons mon exemple.. L'image n°1 s'apelle sans.png. Normalement le fichier sans2 devrait être orange non?
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.0.0
Auteur: MonNom
Fonction du Script :
Modèle de Script AutoIt.
#ce ----------------------------------------------------------------------------
; Début du script - Ajouter votre code ci-dessous.
#include <GDIPlus.au3>
; Load PNG file as GDI bitmap
_GDIPlus_Startup()
$gdi_pngSrc = @ScriptDir&"\sans.png"
$gdi_hImage = _GDIPlus_ImageLoadFromFile($gdi_pngSrc)
; Extract image width and height from PNG
$gdi_imageWidth = _GDIPlus_ImageGetWidth($gdi_hImage)
$gdi_imageHeight = _GDIPlus_ImageGetHeight($gdi_hImage)
; Get Left, Right & Center from back.png
$gdi_hLeftImage = _ImageCut($gdi_hImage, 0, 0, 50, 100)
$gdi_hLeftImage1 = _ImageCut($gdi_hImage, 50, 0, 50, 100)
_GDIPlus_ImageSaveToFile($gdi_hLeftImage, @ScriptDir&"\sans1.png")
_GDIPlus_ImageSaveToFile($gdi_hLeftImage1, @ScriptDir&"\sans2.png")
; Release resources
_GDIPlus_ImageDispose($gdi_hLeftImage)
_GDIPlus_ImageDispose($gdi_hLeftImage1)
_GDIPlus_ImageDispose($gdi_hImage)
_GDIPlus_Shutdown()
Func _ImageCut($hImage, $iX, $iY, $iWidth, $iHeight)
Local $iImageWidth, $iImageHeight, $hOldGC, $hNewGC, $hOldBmp, $hNewBmp
; Extract image width and height from PNG
$iImageWidth = _GDIPlus_ImageGetWidth($hImage)
$iImageHeight = _GDIPlus_ImageGetHeight($hImage)
; Create New image
$hOldGC = _GDIPlus_ImageGetGraphicsContext($hImage); Get GC from $hImage
$hOldBmp = _GDIPlus_BitmapCreateFromGraphics($iImageWidth, $iImageHeight, $hOldGC); Create Bmp from the old GC
$hNewBmp = _GDIPlus_BitmapCloneArea($hOldBmp, $iX, $iY, $iWidth, $iHeight, $GDIP_PXF32ARGB); Get Piece of Bmp
$hNewGC = _GDIPlus_ImageGetGraphicsContext($hNewBmp); Get GC from new created Bmp
_GDIPlus_GraphicsDrawImage($hNewGC, $hImage, 0, 0); Draw the image, i don't really know why you have to use $hImage
_GDIPlus_GraphicsDispose($hOldGC)
_GDIPlus_GraphicsDispose($hNewGC)
_GDIPlus_BitmapDispose($hOldBmp)
Return $hNewBmp
EndFunc
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
-
Habibsbib
- Niveau 7

- Messages : 393
- Enregistré le : dim. 30 août 2009 13:49
- Localisation : Euh...Verticale, entre le siège et l'écran...
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
Ben si ça marche, effectivement, c'est sans2 qui devrait être orange 
- DJSIR
- Niveau 8

- Messages : 583
- Enregistré le : mar. 01 juil. 2008 15:16
- Localisation : 76, Le HAVRE (in the DJSIR World)
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
(il ne l'est pas)
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
(ne décodez pas le binaire, ça veux rien dire)
[Func] ProgressBar, aller plus loin
- TommyDDR
- Modérateur

- Messages : 2116
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
Je n'ai pas essayé mais tente de changer :
$gdi_hLeftImage = _ImageCut($gdi_hImage, 0, 0, 50, 100)
$gdi_hLeftImage1 = _ImageCut($gdi_hImage, 50, 0, 50, 100)
en mettant
$gdi_hLeftImage = _ImageCut($gdi_hImage, 0, 0, 50, 100)
$gdi_hLeftImage1 = _ImageCut($gdi_hImage, 50, 0, 100, 100)
c'est plus logique
$gdi_hLeftImage = _ImageCut($gdi_hImage, 0, 0, 50, 100)
$gdi_hLeftImage1 = _ImageCut($gdi_hImage, 50, 0, 50, 100)
en mettant
$gdi_hLeftImage = _ImageCut($gdi_hImage, 0, 0, 50, 100)
$gdi_hLeftImage1 = _ImageCut($gdi_hImage, 50, 0, 100, 100)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
-
Habibsbib
- Niveau 7

- Messages : 393
- Enregistré le : dim. 30 août 2009 13:49
- Localisation : Euh...Verticale, entre le siège et l'écran...
- Status : Hors ligne
Re: [..] Découper une image et l'enregistrer
:borne code à ajouter:
Autrement, je n'ai pas testé, mais logiquement ça semble bon
Autrement, je n'ai pas testé, mais logiquement ça semble bon
