Les Snippets

Connexion

Redimensionner une image

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 19/03/2006 10:43:34 et initié par neodante [Liste]
Date de mise à jour : 21/07/2006 17:24:32
Vue : 33412
Catégorie(s) : API, Multimédia
Langages dispo pour ce code :
- Java
- PHP 4, PHP 5
- ColdFusion MX
- mIRC
- HTML
- Javascript
- VB 2005, VB 2008



Langage : Java
Date ajout : 19/03/2006
Posté par neodante [Liste]
import javax.imageio.ImageIO;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.io.File;
import java.io.IOException;
...
// Les types de compression
public final static String IMAGE_TYPE_JPEG = "jpeg";
 
public final static String IMAGE_TYPE_GIF = "gif";
 
public final static String IMAGE_TYPE_PNG = "png";
...
// Spécifier le nom du fichier de l'image redimensionnée
String pictureName = ...;
// Mettez la dimension de la capture finale ici
Dimension finalDim = new Dimension(X, Y);
// L'image originale
BufferedImage buf = ...;
// L'image redimensionnée
BufferedImage bufFinal = new BufferedImage(screenshotFinalDimension.width,
                screenshotFinalDimension.height, BufferedImage.TYPE_INT_RGB);
 
// Redimensionnement de l'image
Graphics2D g = (Graphics2D) bufFinal.getGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(buf, 0, 0, finalDim.width, finalDim.height, null);
g.dispose();
 
// Ecriture de l'image sur le disque
try {
    ImageIO.write(bufFinal, compressionType, new File(pictureName));
} catch (IOException e) {
    e.printStackTrace();
}

Langage : PHP 4 , PHP 5
Date ajout : 21/03/2006
Posté par malalam [Liste]
DateMAJ : 21/07/2006
<?php
function imageResize ($sFileNameFrom, $sFileNameTo, $KEEP_PROPORTIONS) {
 $aProportions = array ('DO_NOT_KEEP_PROPORTIONS', 'KEEP_PROPORTIONS_ON_WIDTH', 'KEEP_PROPORTIONS_ON_HEIGHT', 'KEEP_PROPORTIONS_ON_BIGGEST', 'KEEP_PROPORTIONS_ON_SMALLEST');
 if (!file_exists ($sFileNameFrom) || !is_array ($KEEP_PROPORTIONS) || empty ($KEEP_PROPORTIONS)) {
  return false;
 } else {
  $aImg = @getimagesize ($sFileNameFrom);
  if (false === $aImg) {
   return false;
  } else {
   $aTypes = array (1 => 'gif', 2 => 'jpeg', 3 => 'png');
   if (!in_array ($aImg[2], array_keys ($aTypes))) {
    return false;
   } else {
    if (!in_array ($KEEP_PROPORTIONS[0], $aProportions)) {
     return false;
    }
    $iCmpt = count ($KEEP_PROPORTIONS);
    if (!empty ($KEEP_PROPORTIONS) && is_array ($KEEP_PROPORTIONS) && ($iCmpt >= 2) && is_int ($KEEP_PROPORTIONS[1])) {
     switch ($KEEP_PROPORTIONS[0]) {
      case 'KEEP_PROPORTIONS_ON_WIDTH' :
       $width = $KEEP_PROPORTIONS[1];
       $height = round ($aImg[1] / (round ($aImg[0]/$KEEP_PROPORTIONS[1])));
       break;
      case 'KEEP_PROPORTIONS_ON_HEIGHT' :
       $height = $KEEP_PROPORTIONS[1];
       $width = round ($aImg[0]/ (round ($aImg[1]/$KEEP_PROPORTIONS[1])));
       break;
      case 'KEEP_PROPORTIONS_ON_BIGGEST' :
       if ($aImg[0] >= $aImg[1]) {
        $width = $KEEP_PROPORTIONS[1];
        $height = round ($aImg[1] / (round ($aImg[0]/$KEEP_PROPORTIONS[1])));
       } else {
        $height = $KEEP_PROPORTIONS[1];
        $width = round ($aImg[0] / (round ($aImg[1]/$KEEP_PROPORTIONS[1])));
       }
       break;
      case 'KEEP_PROPORTIONS_ON_SMALLEST' :
       if ($aImg[0] <= $aImg[1]) {
        $width = $KEEP_PROPORTIONS[1];
        $height = round ($aImg[1] / (round ($aImg[0]/$KEEP_PROPORTIONS[1])));
       } else {
        $height = $KEEP_PROPORTIONS[1];
        $width = round ($aImg[0] / (round ($aImg[1]/$KEEP_PROPORTIONS[1])));
       }
       break;
      case 'DO_NOT_KEEP_PROPORTIONS':
       if ($iCmpt !== 3 || !is_int ($KEEP_PROPORTIONS[2])) {
        return false;
       }
       $width = $KEEP_PROPORTIONS[1];
       $height = $KEEP_PROPORTIONS[2];
       break;
     }
    }
    $getImg = create_function ('$sFileNameFrom', 'return @imagecreatefrom'.$aTypes[$aImg[2]].'($sFileNameFrom);');
    $saveImg = create_function ('$img, $sFileNameTo', 'return @image'.$aTypes[$aImg[2]].'($img, $sFileNameTo);');
    $im = $getImg ($sFileNameFrom);
    $image_p = imagecreatetruecolor($width, $height);
    imagecolortransparent ($image_p, 0);
    imagecopyresampled($image_p, $im, 0, 0, 0, 0, $width, $height, $aImg[0], $aImg[1]);
    if ($saveImg ($image_p, $sFileNameTo)) {
     return true;
    } else {
     return false;
    }
   }
  }
 }
}
imageResize ('transparent.gif', 'thumb_transparent.gif', array ('DO_NOT_KEEP_PROPORTIONS', 100, 100));
?>

Langage : ColdFusion MX
Date ajout : 21/03/2006
Posté par nickadele [Liste]
DateMAJ : 30/03/2006
<cffunction name="bufferedResize" access="private" output="false" hint="Resize le buffer de l'image">  
<cfargument name="imgBuffer" required="true" hint="Java buffer image">  
<cfargument name="newWidth" type="numeric" required="false" default="100" hint="Nouvelle taille width (pixels). Defaut 100">  
<cfscript>  
// Regarde les dimensions originale  
var imhW = arguments.imgBuffer.getWidth();  
var imgH = arguments.imgBuffer.getHeight();  
// Calcule scale  
var scale = arguments.newWidth / imhW;  
// Défini la nouvelle dimension  
var scaledW = Int((scale * imhW));  
var scaledH = Int((scale * imgH));  
// Crée un nouvel objet image  
var outBufferedImg = createJavaImg(scaledW, scaledH);  
// Crée l'objet Graphics2D et défini les paramètres de dessin
jHints = createObject("java","java.awt.RenderingHints");
var jGraphics2D = arguments.imgBuffer.createGraphics();
jGraphics2D.setRenderingHint(jHints.KEY_INTERPOLATION, jHints.VALUE_INTERPOLATION_BILINEAR);
jGraphics2D.setRenderingHint(jHints.KEY_RENDERING, jHints.VALUE_RENDER_QUALITY);
jGraphics2D.setRenderingHint(jHints.KEY_COLOR_RENDERING, jHints.VALUE_COLOR_RENDER_QUALITY);  
jGraphics2D.setRenderingHint(jHints.KEY_DITHERING, jHints.VALUE_DITHER_ENABLE);
jGraphics2D.setRenderingHint(jHints.KEY_ANTIALIASING, jHints.VALUE_ANTIALIAS_OFF);var jGraphics2D = getJavaGraphics2D(outBufferedImg);
var scalingQuality = createObject("java","java.awt.Image").SCALE_SMOOTH;  
var scaledImg = arguments.imgBuffer.getScaledInstance(JavaCast("int", scaledW), JavaCast("int", scaledH), scalingQuality);   
</cfscript>  
<cftry>   
 <cfscript>   
 // Dessine l'image   
 jGraphics2D.drawImage(scaledImg, JavaCast("int", 0), JavaCast("int", 0), createJavaObserver());   
 jGraphics2D.dispose();   
 </cfscript>   
 <cfcatch type="any">    
  <cfthrow message="Redimensionnement de l'image a echoué #cfcatch.Message#" type="img">
 </cfcatch>  
</cftry>
<cfreturn outBufferedImg> 
</cffunction><cffunction name="resize" access="public" output="false" returntype="boolean" hint="Resize jpg ou png image">  
<cfargument name="source" type="string" required="true" hint="Path du fichier ou chemein absolu">  
<cfargument name="destination" type="string" required="true" hint="Path du fichier ou chemin absolu de destination">  
<cfargument name="newWidth" type="numeric" required="false" default="100" hint="Nouvelle taille width (pixels). Defaut 100">  
 <cfscript>  
 var jFileIn = createObject("java","java.io.File").init(arguments.source, true);  
 var jFileOut = createObject("java","java.io.File").init(arguments.destination);  
 // Converti l'object ficgier dans le buffer image  
 var imgBuffer = createObject("java","javax.imageio.ImageIO").read(jFileIn);  
 // Resize le buffer image  
 var thumb = bufferedResize(imgBuffer, arguments.newWidth);  
 
 </cfscript> 
 <!--- Ecrit le nouveau fichier image --->
 <cfset var fileSaved=true>
 <cftry>
 <cfset fileSaved=createObject("java","javax.imageio.ImageIO").write(thumb, "jpg", jFileOut)>
  <cfcatch type="any">
   <!--- La sauvegarde a echouée. return false --->
   <cfif variables.throwOnSave>
    <cfthrow message="Failed to save image" type="tmt_img">
   </cfif>
   <cfset fileSaved=false>
  </cfcatch>
 </cftry>
<cfreturn fileSaved>
</cffunction>
	
<cfif resize(fichier_source, fichier_destination, 80)>
	<p>l'image a été redimensionnée</p>


<cfelse>
	<p>Erreur</p>

</cfif>




Langage : mIRC
Date ajout : 12/04/2006
Posté par KiNdErMaXi [Liste]

;Utilisation : /redim <largeur désirée> <longueur désirée> <chemin de l'image d'origine> <chemin de la nouvelle image>
;Exemple : /redim 40 50 d:/photos/Vacances.JPG d:/photos/Vacances-redim.bmp

;On créée l'alias /redim
alias redim {
;On ouvre une window @redim, de largeur $1 et de longueur $2
  window -hCp +Letd @redim 0 0 $$1 $$2
;On dessine l'image $3 de la taille de la fenetre @redim
  drawpic -sm @redim 1 1 $$1 $$2 $$3
;On l'enregistre dans le fichier $4
  drawsave @redim $$4
;On avertis du fait que l'image soit correctement redimensionnée.
  echo -a Image redimensionnée.
}

Remarque :
Le seul problème est que l'image ne peut etre redimensionée qu'en .bmp
Langage : HTML
Date ajout : 06/04/2007
Posté par stfou [Liste]
<img src="image.jpg" style="width:60px;height:60px">
<!-- Remplacer les valeurs de width et height par les dimensions de l'image.-->
Langage : Javascript
Date ajout : 06/04/2007
Posté par stfou [Liste]
image.style.width="60px";
image.style.height="60px";
Remarque :
Remplacer les valeurs par les dimensions de l'image.
"image" étant défini comme un objet de type DOM.
Langage : VB 2005 , VB 2008
Date ajout : 25/06/2008
Posté par anthonygego [Liste]
Private Sub ResizeImage(ByRef nImage As Image, ByVal nSize As Size)
        Dim Thumb As New Bitmap(nSize.Width, nSize.Height)
        Dim Graph As Graphics = Graphics.FromImage(Thumb)
        Graph.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBilinear
        Graph.DrawImage(nImage, New Rectangle(0, 0, nSize.Width, nSize.Height))
        Graph.Dispose()
        nImage = Thumb
End Sub

Snippets en rapport avec : Redimension, Image, Picture, Resize, Bitmap



Codes sources en rapport avec : Redimension, Image, Picture, Resize, Bitmap

{JAVA / J2EE} FAIRE DEFILER UNE IMAGE
...

{Visual Basic, VB6, VB.NET, VB 2005} MERGEIMAGES
Assembler 2 images pour n'en faire qu'une. Vous ouvrez 2 images de même hauteur en pixel et de même ...

{C / C++ / C++.NET} IMPRIMEUR D'IMAGES BMP (API)
Suite à une question dans le forum, voici un code source montrant comment imprimer des images BMP. L...

{Visual Basic, VB6, VB.NET, VB 2005} REDIMENSION D'IMAGE
J'avais besoin d'un programme pour redimensionner à une grandeur fixe des images, j'ai trouvé seulem...

{Visual Basic, VB6, VB.NET, VB 2005} DESSINER UNE FORME SUR UNE IMAGE
Dessiner à main levée une forme. Sur cette forme est appliqué une texture de dégradé ou d'image. E...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTURE D'IMAGE SUR UNE IMAGE
Appliquer dans un rectangle ou une ellipse une image en noir et blanc, sépia, couleurs inversées et ...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTURE DE DÉGRADÉ SUR UNE IMAGE
Appliquer un dégradé sur une image. Dégradés Radial, Linéaire et Haché. Vous choisissez 2 couleurs q...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTE CIRCULAIRE SUR UNE IMAGE
Le principe est d'insérer un texte lettre par lettre en montant dans la 1ère moitié du texte et en d...

{C / C++ / C++.NET} STÉGANOGRAPHIE BITMAP
Insertion de texte dans une image (cf. Wikipedia -> stéganographie) par parité des composantes de ch...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTE SUR UNE IMAGE
Inserer du texte sur une image et l'enregistrer aux formats: jpg, bmp, png, gif et tif au choix. Vou...