Bonjour,
Bon, il s'agit surement d'une grosse erreur de code mais je post quand mm.
J'ai une form dans lequel j'ai une PictureBox avec le size à Normal.
Au lancement de mon appli, la charge memoire est de 25 Mo, vraisemblablement
pour cause de Framework (je fais qu'afficher ma form principale)
Ensuite, sur mon File/Open, ca charge une image (2500 * 4500 px pour 3Mo)
Donc je fais mon MyForm.MyPictureBox.Image = Image.FromFile(monfichier.jpg);
et la, je passe à 100 Mo utilisées!!!!
Donc ma question toute bête ? Qu'est ce qu'il se passe.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Grégoire PAILLER
Mick a écrit :
Bonjour, Bon, il s'agit surement d'une grosse erreur de code mais je post quand mm. J'ai une form dans lequel j'ai une PictureBox avec le size à Normal. Au lancement de mon appli, la charge memoire est de 25 Mo, vraisemblablement pour cause de Framework (je fais qu'afficher ma form principale) Ensuite, sur mon File/Open, ca charge une image (2500 * 4500 px pour 3Mo)
Donc je fais mon MyForm.MyPictureBox.Image = Image.FromFile(monfichier.jpg);
et la, je passe à 100 Mo utilisées!!!!
Donc ma question toute bête ? Qu'est ce qu'il se passe.
merci d'avance pour vos conseils.
En fait, c'est assez logique. Tu charges une image de 2500 * 4500 px qui fait 3Mo (surement compressé en JPEG ou autre).
Maintenant, si tu calcul la taille de ton image 'brute' en octets qu'elle occupe en mémoire, cela donne 2500 * 4500 * 24 = 270000000 bits (24 bits pour 16 millions de couleurs) soit environ 34 Mo (on divise par huit pour arriver en octets)
Donc ton image prend 34 Mo à elle toute seule (on fait simple).
Si tu connais la taille de ton picturebox, je te conseille d'employer la méthode GetThumbnailImage pour obtenir une vignette de ton image originale énorme!
Bonjour,
Bon, il s'agit surement d'une grosse erreur de code mais je post quand mm.
J'ai une form dans lequel j'ai une PictureBox avec le size à Normal.
Au lancement de mon appli, la charge memoire est de 25 Mo, vraisemblablement
pour cause de Framework (je fais qu'afficher ma form principale)
Ensuite, sur mon File/Open, ca charge une image (2500 * 4500 px pour 3Mo)
Donc je fais mon MyForm.MyPictureBox.Image = Image.FromFile(monfichier.jpg);
et la, je passe à 100 Mo utilisées!!!!
Donc ma question toute bête ? Qu'est ce qu'il se passe.
merci d'avance pour vos conseils.
En fait, c'est assez logique. Tu charges une image de 2500 * 4500 px qui
fait 3Mo (surement compressé en JPEG ou autre).
Maintenant, si tu calcul la taille de ton image 'brute' en octets
qu'elle occupe en mémoire, cela donne 2500 * 4500 * 24 = 270000000 bits
(24 bits pour 16 millions de couleurs) soit environ 34 Mo (on divise par
huit pour arriver en octets)
Donc ton image prend 34 Mo à elle toute seule (on fait simple).
Si tu connais la taille de ton picturebox, je te conseille d'employer la
méthode GetThumbnailImage pour obtenir une vignette de ton image
originale énorme!
Bonjour, Bon, il s'agit surement d'une grosse erreur de code mais je post quand mm. J'ai une form dans lequel j'ai une PictureBox avec le size à Normal. Au lancement de mon appli, la charge memoire est de 25 Mo, vraisemblablement pour cause de Framework (je fais qu'afficher ma form principale) Ensuite, sur mon File/Open, ca charge une image (2500 * 4500 px pour 3Mo)
Donc je fais mon MyForm.MyPictureBox.Image = Image.FromFile(monfichier.jpg);
et la, je passe à 100 Mo utilisées!!!!
Donc ma question toute bête ? Qu'est ce qu'il se passe.
merci d'avance pour vos conseils.
En fait, c'est assez logique. Tu charges une image de 2500 * 4500 px qui fait 3Mo (surement compressé en JPEG ou autre).
Maintenant, si tu calcul la taille de ton image 'brute' en octets qu'elle occupe en mémoire, cela donne 2500 * 4500 * 24 = 270000000 bits (24 bits pour 16 millions de couleurs) soit environ 34 Mo (on divise par huit pour arriver en octets)
Donc ton image prend 34 Mo à elle toute seule (on fait simple).
Si tu connais la taille de ton picturebox, je te conseille d'employer la méthode GetThumbnailImage pour obtenir une vignette de ton image originale énorme!