|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Redimensionnement d'image [ Multimédia / Image & Vidéo ] (bilaloch)
Informations & options pour cette discussion
mercredi 26 décembre 2007 à 11:14:42 |
Redimensionnement d'image

bilaloch
|
Bonjour à tous, J'aimerais en savoir plus sur le redimensionnement d'image. Toutes les techniques que j'ai vu sur le site utilisent des PictureBox pour redimensionner les images. Or, j'aimerais pouvoir le faire par d'autres moyens (APIs, ou autres fonctions...) car d'un côté je ne veux pas être dépendant de contrôles (histoire d'être plus propre de mon point de vue...) et d'un autre le résultat est plutôt moche (l'image ainsi redimensionnée semble avoir perdu de la qualité)... Merci d'avance à tous, BILALoch
|
|
|
mercredi 26 décembre 2007 à 11:32:07 |
Re : Redimensionnement d'image

pneau
|
salut as tu regardé du coté de l'api "StretchBlt" perso je l'utilise lorsque je souhaite géré un redimensionnement dynamique d'une picture box.... la dégradation éventuelle de l'image est plus liée à sa qualité d'origine qu'au redimensionnement proprement dit.. sur ce... bonne journée Pat Don't Worry , Be Happy 
lorsque le problème est résolu, pensez Réponse Acceptée 
|
|
|
mercredi 26 décembre 2007 à 11:58:53 |
Re : Redimensionnement d'image

jmfmarques
|
car d'un côté je ne veux pas être dépendant de contrôles (histoire d'être plus propre de mon point de vue...) et d'un autre le résultat est plutôt moche (l'image ainsi redimensionnée semble avoir perdu de la qualité)...
Je vois mal comment tu pourrais ne pas être dépendant d'un contrôle, à moins que tu ne nous aies pas tout dit de ce que tu entends par "redimensionnement d'une image" .... Qu'est exactement pour toi une image ? Ne voudrais-tu pas plutôt parler de fichier graphique ?
Une image redimensionnée perd forcément de sa qualité (en retrécissement, il va bien falloir enlever des pixels quelque part, par exemple... ce sera moins mal en agrandissement, mais se posera quand même un problème également ... tiens : imagine que tu augmentes la largeur d'un pixel ... lequel ajouteras-tu ?))
|
|
|
mercredi 26 décembre 2007 à 12:13:04 |
Re : Redimensionnement d'image

bilaloch
|
Merci pour vos réponses. Bon, alors dans l'ordre :
- pneau : je te remercie de ton idée. Je garde à l'esprit ton API si je n'ai pas d'autres solutions (car dans ton API on passe encore en arguments des contrôles PictureBox, or, c'est ce que j'aimerais éviter).
- jmfmarques : je t'explique. Une image est pour moi un fichier image. En gros j'aimerais pouvoir écrire une fonction dans un module indépendant (donc sans contrôle) qui pourrait faire quelque chose comme : "ReDimensionner (CheminSource As String, CheminDestination As String)", où "CheminSource" désigne le lien du fichier image à redimensionner et "CheminDestination" désigne le lien du fichier image redimensionné. Pour finir, je dirai qu'une perte de qualité dans tes deux cas est normale, mais que certains algos permettent de garder le maximum de qualité dans le fichier redimensionné par certaines techniques (par exemple, au lieu de supprimer des pixels, ça fait une sorte de moyenne entre les différents pixels de l'endroit du redimensionnement...), et je ne suis pas sûr que cela se fait rapidement en VB, c'est pourquoi je voulais en savoir davantage...
BILALoch
|
|
|
mercredi 26 décembre 2007 à 13:46:47 |
Re : Redimensionnement d'image
|
mercredi 26 décembre 2007 à 17:50:22 |
Re : Redimensionnement d'image

bilaloch
|
Aujourd'hui PCPT, tu es une vraie furie :D Non sérieusement, merci pour tes réponses instructives. J'aimerais te poser une question : comment puis je perdre le moins de qualité sur le redimensionnement d'une image ? Parce que je remarque bien qu'entre une classe de redim écrite en VB et le résultat obtenu sur toshop, il y a une réelle différence de qualité :(
BILALoch
|
|
|
mercredi 26 décembre 2007 à 18:23:58 |
Re : Redimensionnement d'image

PCPT
|
re, c'est pas le principe d'une classe mais de ce que tu fais au final... c'est sur que de re-dimensionner un bmp 800*600 en bmp 400*300, çà rendra bien plus net qu'un jpg de 1000*850 en bmp 400*300 .... après reste à voir comment tu t'y prendras, à savoir ma classe (pour l'exemple), un bitblt, du stretchblt, paintpicture, gdi+ etc.... le lien que je t'ai donné permet d'avoir un hdc sans picturebox et contient quelques fonctions pratiques dont le resize mais ce n'est pas forcément optimisé pour.... à toi de voir selon tes images. surtout si, cumulé avec ta dernière question, tu travailles en jpg! pour conserver la qualité il sera peut-être préférable de re-dimensionner avant de convertir bon courage ++ PCPT [AFCK] Prenez un instant pour répondre à ce sondage svp 
|
|
|
mercredi 26 décembre 2007 à 21:28:08 |
Re : Redimensionnement d'image

bilaloch
|
Ne t'inquiètes pas, je redimensionne l'image avant de la transformer en JPG. Mais bon... malgré cela, l'image redimensionnée en plus petite a une qualité assez médiocre :S Cela est assez étonnant d'ailleurs... J'ai ensuite essayé de rendre l'image floue avant de la redimensionner, et aussi de la pixeliser avant de la redimensionner, mais dans les 2 cas, la perte de qualité est présente... As tu une idée pour moi ? De la doc, des liens, des contacts...? :)
Merci encore,
BILALoch
|
|
|
mercredi 26 décembre 2007 à 22:06:48 |
Re : Redimensionnement d'image

PCPT
|
montre un bout de code? voir comment tu t'y prends ?
|
|
|
mercredi 26 décembre 2007 à 22:27:57 |
Re : Redimensionnement d'image

bilaloch
|
Le code que je te donne permet de redimensionner une image en une autre de 100 * 100 pixels (on centre l'image, sans la déformer). Je précise que je ne peux donner qu'un bout du code ici, pas assez de place pour le reste, donc il y a quelques appels de fonction assez incompréhensibles sans le reste du code, mais c'est le plus important. Voilà :
Public Function Redimensionner(FichierSource As String, FichierDestination As String, frmReDim As Form, PicSource As PictureBox, PicDestination As PictureBox, Taille As Integer) ' ---Change le pointeur de la souris--- Screen.MousePointer = vbHourglass ' ---Déclaration des variables--- Dim Ret As Long Dim Hauteur As Long Dim Largeur As Long Dim Recupere As Long Dim cDib As New cDIBSection Dim Bits() As Byte PicSource.AutoSize = True PicSource.AutoRedraw = True PicDestination.AutoRedraw = True PicSource.Appearance = 0 PicDestination.Appearance = 0 PicSource.BorderStyle = 0 PicDestination.BorderStyle = 0 ' ---Initialisation--- PicSource.ScaleMode = vbPixels PicDestination.ScaleMode = vbPixels frmReDim.ScaleMode = vbPixels PicSource.Picture = LoadPicture(FichierSource) DC = GetPixelData(PicSource.Image, Bits()) Mosaique Bits(), 0, 0, PicSource.ScaleWidth, PicSource.ScaleHeight, 5, 5 SetPixelData DC, PicSource.Image, Bits() PicDestination.Height = Taille PicDestination.width = Taille If PicSource.width > PicSource.Height Then Recupere = PicSource.Height Else Recupere = PicSource.width End If PicDestination.PaintPicture PicSource, 0, 0, PicDestination.ScaleWidth, PicDestination.ScaleHeight, (PicSource.width / 2) - (Recupere / 2), (PicSource.Height / 2) - (Recupere / 2), Recupere, Recupere PicDestination.Picture = PicDestination.Image ' ---Remet le pointeur de la souris par défaut--- cDib.CreateFromPicture PicDestination.Picture Screen.MousePointer = vbDefault SaveJPG cDib, FichierDestination, 100 End Function
J'espère que cela t'a un peu aidé pour comprendre mon problème. Si tu veux le code intégral, je pourrais te l'envoyer par mail.
Merci ^^
BILALoch
|
|
|
Cette discussion est classé dans : image, redimensionnement
Répondre à ce message
Sujets en rapport avec ce message
module d'affichage 2d [ par Pof ]
je voudrais savoir si il existe un module ou une dll pour faire ces fonctions-ci sous direct-draw :charger une image dans une surface (bmp gif ou png)
pb redimensionnement image [ par chris21 ]
Bonjour, je recherche une méthode pour redimensionner et sauvegarder une image, j'ai essayé ça: Image1.Picture.Width = Image1.Picture.Width / 2Image1.
Redimensionnement d'image [ par ouissler ]
Salut J'ai un soucis. J'ai une serie de bouton dans mon portfolio. Quand je les survole ca affiche une image en miniature. Premier probleme : je voud
Redimensionnement d'image impossible [ par zoglub14 ]
Bonsoir à tous,J'essaie desesperement de redimensionner une image chargé dans une PictureBox, pour ensuite la sauvegarderPour cela j'ai crée une deuxi
redimensionnement image [ par firewaller ]
Bonjour,J'aimerais savoir comment on fait pourredimensionner des images dans un pictureBox ou un Image lorsque celles sont sont plus grande que leur c
Problème de redimensionnement d'image [ par platinum75 ]
Bonjour,j'ai une image de 1024x768 dans un picturebox et je souhaiterai que celle ci soit enregistrée au format jpg en 800x600.J'ai vu que plusieurs p
Envoi d'image+redimensionnement [ par Benji66 ]
salut je recherche un script permettant en php d'uploader une image (ca je sais faire) et de la redimensionner avant l'envoi pour qu'elle prenne moins
Envoi d'image+redimensionnement [ par Benji66 ]
salut je recherche un script permettant en php d'uploader une image (ca je sais faire) et de la redimensionner avant l'envoi pour qu'elle prenne moins
Redimensionnement d’image [ par angelanddelus100 ]
Bonjour à tous, <p class="MsoNor
Redimensionnement d'une image [ par BenoDuJ ]
Bonjour à tous,Je suis en train d'écrire un programme dans lequel je dois copier une image (de n'importe quel format à priori) et l'enregistrer dans u
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|