OVH Cloud OVH Cloud

memoire vers JPG

10 réponses
Avatar
houbahop2003
Bonjour,
J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour ceux
qui l'utilisisent) qui contient une image bmp.
Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.

Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire une
conversion en jpg mais de le sauvegarder directement en jpg!

Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet, mais
je ne suis pas encore au point....

MErci,

Dominique.

10 réponses

Avatar
Christophe
Bonjour,

CmemoryDC c'est du GDI+ ?

Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire une
conversion en jpg mais de le sauvegarder directement en jpg!



Ce que tu as dans CmemoryDC (si c'est ce que je crois ) c'est un BMP.
BMP est un format de fichier qui décrit une image, sur disque c'est l'exacte
traduction de ce que tu as en mémoire.(au file header près).

Dis moi si tu travaille avec GDI (ou GDI+) et sur quel OS.

Christophe




"houbahop2003" a écrit dans le message de news:
ce3epq$7k5$
Bonjour,
J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour ceux
qui l'utilisisent) qui contient une image bmp.
Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.

Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire une
conversion en jpg mais de le sauvegarder directement en jpg!

Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet,


mais
je ne suis pas encore au point....

MErci,

Dominique.




Avatar
houbahop2003
Bonjour,
alors CmemoryDC, c'est une classe trés pratique qui a été faite par un MVP
mais pas celui qui a créé la dll pour GDI+ ( qui est peut etre celui que tu
utilise)
en fait un CmemoryDC c'est comme une picturebox mais en mémoire uniquement,
tu n'as pas besoin de la poser sur une feuille, tu charge ton image dedans
avec load picture et puis tu peux utiliser son HDC pour copier avec bitble
sur un autre hdc.

Je n'utilise pas GDI+
je travaille sous windows XP mais j'aimerais que le code marche sous 98 et
NT4 également si possible..

Merci,
Dominique.


"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de news:
ce53rq$q9b$
Bonjour,

CmemoryDC c'est du GDI+ ?

> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!

Ce que tu as dans CmemoryDC (si c'est ce que je crois ) c'est un BMP.
BMP est un format de fichier qui décrit une image, sur disque c'est


l'exacte
traduction de ce que tu as en mémoire.(au file header près).

Dis moi si tu travaille avec GDI (ou GDI+) et sur quel OS.

Christophe




"houbahop2003" a écrit dans le message de news:
ce3epq$7k5$
> Bonjour,
> J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour


ceux
> qui l'utilisisent) qui contient une image bmp.
> Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.
>
> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!
>
> Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet,
mais
> je ne suis pas encore au point....
>
> MErci,
>
> Dominique.
>
>




Avatar
houbahop2003
J'ai reussi a convertir mon image avec GDI+ sous XP
Est ce que en liant la dll le code marchera sur les autres windows ?

Petite rectification a propos de CmemoryDC :
c'est une classe qui simule un objet stdpicture avec un HDC.
quand a la personne qui aurait selon ce que je pensait créé la dll gdi+
c'était n'importe quoi, en fait c'est un mvp qui avait sur son site le code
pour utiliser gdi+ afin de sauvegarder de stdpicture vers jpg.

D.

"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de news:
ce53rq$q9b$
Bonjour,

CmemoryDC c'est du GDI+ ?

> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!

Ce que tu as dans CmemoryDC (si c'est ce que je crois ) c'est un BMP.
BMP est un format de fichier qui décrit une image, sur disque c'est


l'exacte
traduction de ce que tu as en mémoire.(au file header près).

Dis moi si tu travaille avec GDI (ou GDI+) et sur quel OS.

Christophe




"houbahop2003" a écrit dans le message de news:
ce3epq$7k5$
> Bonjour,
> J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour


ceux
> qui l'utilisisent) qui contient une image bmp.
> Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.
>
> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!
>
> Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet,
mais
> je ne suis pas encore au point....
>
> MErci,
>
> Dominique.
>
>




Avatar
houbahop2003
C'est encore moi :)))
Mon but maintenant est de trouver un encodeur JPG plus rapide que GDI+ en
connaissez vous ?
D.

"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de news:
ce53rq$q9b$
Bonjour,

CmemoryDC c'est du GDI+ ?

> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!

Ce que tu as dans CmemoryDC (si c'est ce que je crois ) c'est un BMP.
BMP est un format de fichier qui décrit une image, sur disque c'est


l'exacte
traduction de ce que tu as en mémoire.(au file header près).

Dis moi si tu travaille avec GDI (ou GDI+) et sur quel OS.

Christophe




"houbahop2003" a écrit dans le message de news:
ce3epq$7k5$
> Bonjour,
> J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour


ceux
> qui l'utilisisent) qui contient une image bmp.
> Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.
>
> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!
>
> Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet,
mais
> je ne suis pas encore au point....
>
> MErci,
>
> Dominique.
>
>




Avatar
Zoury
Salut!

Il me semble avoir déjà essayer celui là...
http://sourceforge.net/projects/freeimage

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"houbahop2003" a écrit dans le message de
news:ce5ih6$6r7$
C'est encore moi :)))
Mon but maintenant est de trouver un encodeur JPG plus rapide que GDI+ en
connaissez vous ?
D.

"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de


news:
ce53rq$q9b$
> Bonjour,
>
> CmemoryDC c'est du GDI+ ?
>
> > Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire
une
> > conversion en jpg mais de le sauvegarder directement en jpg!
>
> Ce que tu as dans CmemoryDC (si c'est ce que je crois ) c'est un BMP.
> BMP est un format de fichier qui décrit une image, sur disque c'est
l'exacte
> traduction de ce que tu as en mémoire.(au file header près).
>
> Dis moi si tu travaille avec GDI (ou GDI+) et sur quel OS.
>
> Christophe
>
>
>
>
> "houbahop2003" a écrit dans le message de


news:
> ce3epq$7k5$
> > Bonjour,
> > J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour
ceux
> > qui l'utilisisent) qui contient une image bmp.
> > Je voudrais sauvegarder le contenu de cette mémoire vers un fichier


jpg.
> >
> > Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire
une
> > conversion en jpg mais de le sauvegarder directement en jpg!
> >
> > Avec vous des idées? j'examine le code de vbaccelerator.com a ce


sujet,
> mais
> > je ne suis pas encore au point....
> >
> > MErci,
> >
> > Dominique.
> >
> >
>
>




Avatar
Christophe
salut,
Est ce que en liant la dll le code marchera sur les autres windows ?



2000 je sais pas mais 98 et NT non.

Christophe


"houbahop2003" a écrit dans le message de news:
ce5f96$sm7$
J'ai reussi a convertir mon image avec GDI+ sous XP
Est ce que en liant la dll le code marchera sur les autres windows ?

Petite rectification a propos de CmemoryDC :
c'est une classe qui simule un objet stdpicture avec un HDC.
quand a la personne qui aurait selon ce que je pensait créé la dll gdi+
c'était n'importe quoi, en fait c'est un mvp qui avait sur son site le


code
pour utiliser gdi+ afin de sauvegarder de stdpicture vers jpg.

D.

"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de


news:
ce53rq$q9b$
> Bonjour,
>
> CmemoryDC c'est du GDI+ ?
>
> > Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire
une
> > conversion en jpg mais de le sauvegarder directement en jpg!
>
> Ce que tu as dans CmemoryDC (si c'est ce que je crois ) c'est un BMP.
> BMP est un format de fichier qui décrit une image, sur disque c'est
l'exacte
> traduction de ce que tu as en mémoire.(au file header près).
>
> Dis moi si tu travaille avec GDI (ou GDI+) et sur quel OS.
>
> Christophe
>
>
>
>
> "houbahop2003" a écrit dans le message de


news:
> ce3epq$7k5$
> > Bonjour,
> > J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour
ceux
> > qui l'utilisisent) qui contient une image bmp.
> > Je voudrais sauvegarder le contenu de cette mémoire vers un fichier


jpg.
> >
> > Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire
une
> > conversion en jpg mais de le sauvegarder directement en jpg!
> >
> > Avec vous des idées? j'examine le code de vbaccelerator.com a ce


sujet,
> mais
> > je ne suis pas encore au point....
> >
> > MErci,
> >
> > Dominique.
> >
> >
>
>




Avatar
François Picalausa
Hello,

Par défaut, effectivement: ni 98, ni NT.
Mais on peut télécharger gdi+ pour in 98 et NT 4 (pas de NT3!) ici:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID¿C0B436-9015-43E2-81A3-54938B6F4614

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de
news:ce5tu4$sk9$
Est ce que en liant la dll le code marchera sur les autres windows ?


2000 je sais pas mais 98 et NT non.


Avatar
Christophe
Je suis pas allé voir le lien mais sachant que win98 a une GDI en 16bits,
que GDI+ est considéré comme lent sous XP (plus lent que GDI), je me demande
ce que ça donne coté perf sous 98 ?

Le seul réel avantage que je trouve à GDI+ c'est le jpeg2000, maintenant vu
l'investissemnt pour apprendre GDI+ ...
(autant apprendre un autre langage type C++ et profiter des nombreuses
sources sur le web, enfin c'est que mon avis).

Christophe

"François Picalausa" a écrit dans le message de news:
ujlNE0$
Hello,

Par défaut, effectivement: ni 98, ni NT.
Mais on peut télécharger gdi+ pour in 98 et NT 4 (pas de NT3!) ici:



http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID¿C0
B436-9015-43E2-81A3-54938B6F4614

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Christophe" <geo.ch@(wormfuck)tiscali.fr> a écrit dans le message de
news:ce5tu4$sk9$
>> Est ce que en liant la dll le code marchera sur les autres windows ?
> 2000 je sais pas mais 98 et NT non.





Avatar
houbahop2003
Aprés un petit test de perf, il s'avére que le goulet d'étranglement dans
mon code n'est pas la sauvegarde en jpg, mais une fonction maison en vb pour
modifier la composante alpha d'une image .

au fait, qu'est ce que c'est que jpeg2000?

D.
"houbahop2003" a écrit dans le message de news:
ce3epq$7k5$
Bonjour,
J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour ceux
qui l'utilisisent) qui contient une image bmp.
Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.

Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire une
conversion en jpg mais de le sauvegarder directement en jpg!

Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet,


mais
je ne suis pas encore au point....

MErci,

Dominique.




Avatar
Christophe
C'est un standard de compression d'image qui est basé sur la valeur
"statistique" des couleurs, (compression waweletts, je crois, nos amis
anglophone réctifierons). Son avantage et de fournir depuis le fichier la
matrice de pixel qui est necessaire à l'affichage.
cad que si tu as un gros fichier (20 000 * 20 000 pixel en couleurs 24 bits)
et que tu veux l'afficher en entier sur ton écran tu seras obliger de le
réduire (ton écran ne fait pas 20000*20000 pix) et actuellement tu es
quasiment obligé de le charger en mémoire en totalité puis de le réduire
pour l'afficher.
Avec Jpeg2000 tu n'a en mémoire que ce dont tu as besoin pour l'affichage,
et si tu change de vue tu obtiens pareil , juste le nombre de pixel qui
t'interresse. Ce qui permet de gerer de trés gros fichiers.
Pour un format propriétaire équivalent (ECW) je sais qu'il comprime des
images de plus de 1 Go.

A+
christophe



"houbahop2003" a écrit dans le message de news:
ceate2$6jm$
Aprés un petit test de perf, il s'avére que le goulet d'étranglement dans
mon code n'est pas la sauvegarde en jpg, mais une fonction maison en vb


pour
modifier la composante alpha d'une image .

au fait, qu'est ce que c'est que jpeg2000?

D.
"houbahop2003" a écrit dans le message de news:
ce3epq$7k5$
> Bonjour,
> J'ai un tableau en mémoire ( plus exactement un objet CMemoryDC pour


ceux
> qui l'utilisisent) qui contient une image bmp.
> Je voudrais sauvegarder le contenu de cette mémoire vers un fichier jpg.
>
> Bien sur pour moi l'intéret et de ne pas sauvegarder en bmp puis faire


une
> conversion en jpg mais de le sauvegarder directement en jpg!
>
> Avec vous des idées? j'examine le code de vbaccelerator.com a ce sujet,
mais
> je ne suis pas encore au point....
>
> MErci,
>
> Dominique.
>
>