DIMENSIONS D'UNE IMAGE JPEG
Re: DIMENSIONS D'UNE IMAGE JPEG
Ce que vous énoncé est exacte. Mais ne concerne pas ma recherche dans la mesure ou je conseille à mes élève futurs reporters photographes de ne pas triturer leurs images par des recadrages ou ils risque de re-dimensionner ou re-échantillionner à outrance en négligeant la calcul trilogique : dimension / définition / resolution. Qui n'a rien à voir avec l'affichage sur un écran, bien plus simple qu'une sortie en impression. Vous êtes dans ce domaine et vous savez parfaitement que recevoir un fichier image en rapport avec le type d'impression garantit une impression de qualité. Au cours de ma carrière, j'ai vu a de nombreuses reprises des images détruites parce que l'auteur à voulu procéder à un recadrage destructeur par méconnaissance de ce principe.
Cordialement.
Cordialement.
Re: DIMENSIONS D'UNE IMAGE JPEG
Ha !
Ces gens travaillent sur les originaux .Il ne savent pas faire de copies. . J'ai la réponse pour le niveau de certains journalistes
Ces gens travaillent sur les originaux .Il ne savent pas faire de copies. . J'ai la réponse pour le niveau de certains journalistes
Re: DIMENSIONS D'UNE IMAGE JPEG
Moi, jme lance au plongeoir... On verra bien s'il y a de l'eau dans le bassin... Si y a pas d'eau c'est pas grave : Figrou il rebondit sur sa queue !J'ai pas testé donc si qqun peut confirmer ce serait très aimable...
Bonne journée !
Code : Tout sélectionner
FileName.S = "image.jpg"
Jpeg = OpenFile(#PB_Any, FileName)
FileSeek(Jpeg, 14)
xDpi = ReadUnicodeCharacter(Jpeg)
yDpi = ReadUnicodeCharacter(Jpeg)
Debug "DPI = " + Str(xDpi) + " x " + Str(yDpi)
CloseFile(Jpeg)
UseJPEGImageDecoder() ; petit ajout Ar-S
Jpeg = LoadImage(#PB_Any, FileName)
Wi = ImageWidth(Jpeg)
He = ImageHeight(Jpeg)
x.D = Wi / xDpi
y.D = He / yDpi
Debug "Largeur " + StrD(x) + " pouces"
Debug "Hauteur " + StrD(y) + " pouces"
Bonne journée !
Re: DIMENSIONS D'UNE IMAGE JPEG
Dans les choux..
J'ai testé avec une image de 39x30 pouces
Resultat :
DPI = 256 x 256
Largeur 11.10546875 pouces
Hauteur 8.53125 pouces
J'ai testé avec une image de 39x30 pouces
Resultat :
DPI = 256 x 256
Largeur 11.10546875 pouces
Hauteur 8.53125 pouces
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: DIMENSIONS D'UNE IMAGE JPEG
Ben Figrou s'est pris un face plant dans le fond du bassin tout sec. Traduction : je me suis planté. J'ai un mis un lien hors sujet vers quelques explications d'un prof. à défaut de poster un bon code correct.
https://hs.ldvmultimedia.com/viewtopic.php?pid=211#p211
J'y ai vu deux "clés" n°011A et n°011B (282 et 283) qui semblent préciser les DPI x et y. Mais il faut que le logiciel qui enregistre l'image précise ça.
https://hs.ldvmultimedia.com/viewtopic.php?pid=211#p211
J'y ai vu deux "clés" n°011A et n°011B (282 et 283) qui semblent préciser les DPI x et y. Mais il faut que le logiciel qui enregistre l'image précise ça.
Re: DIMENSIONS D'UNE IMAGE JPEG
Code : Tout sélectionner
FileSeek(Jpeg, 14)
https://fr.wikipedia.org/wiki/JPEG_File ... nge_Format
Re: DIMENSIONS D'UNE IMAGE JPEG
une photo numérique n'a pas de 'résolution native en dpi' puisque la taille de l'image en sortie du capteur est exprimée en mégapixels (pixels) et non pas dpi.
tout vas dépendre de la sortie papier pour la dégradation de l'image par rapport a ce qui est visible a l’écran.
si l'image d'origine est en 5776 x 4336 (capteur 25mp)
donc si 1 pixel est un point de l'image en sortie
en 300 pp de sortie elle fera 489 mm x 367 mm
en 600 pp elle fera 245 mm x 184 mm
en 1200 PP 122 mm X 92 mm
ce qui veux dire que si on sort une image en 5776x4336 sur un support en 122x92 en 300 ppp
on pourra avoir en réalité une image recadrée 4x plus petite pour la même qualité
j'avais codé un logiciel il y a quelques années pour un forum photo ou j’étais modo .
pour calculer les dpi etc
si ca peux aider.
tout vas dépendre de la sortie papier pour la dégradation de l'image par rapport a ce qui est visible a l’écran.
si l'image d'origine est en 5776 x 4336 (capteur 25mp)
donc si 1 pixel est un point de l'image en sortie
en 300 pp de sortie elle fera 489 mm x 367 mm
en 600 pp elle fera 245 mm x 184 mm
en 1200 PP 122 mm X 92 mm
ce qui veux dire que si on sort une image en 5776x4336 sur un support en 122x92 en 300 ppp
on pourra avoir en réalité une image recadrée 4x plus petite pour la même qualité
j'avais codé un logiciel il y a quelques années pour un forum photo ou j’étais modo .
pour calculer les dpi etc
si ca peux aider.
Code : Tout sélectionner
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#String_0
#String_1
#Text_0
#Text_1
#String_3
#String_4
#Text_3
#Text_9
#Text_11
#Text_12
#String_9
#String_10
#String_12
#String_13
#String_16
#String_17
#Text_13
#Text_14
#Text_16
#Text_17
#Text_18
#Text_19
#String_18
#String_19
#Text_20
#Text_21
#Text_22
#Text_23
#button_1
#button_2
EndEnumeration
inch.f=25.4 ; 1 pouce en mm
If OpenWindow(#Window_0, 471, 160, 320, 540, "calculateur de dpi", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
StringGadget(#String_1, 10, 10, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_0, 10, 40, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_4, 10, 100, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_3, 10, 130, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_12, 10, 260, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_13, 10, 290, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_16, 10, 330, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_17, 10, 360, 110, 20, "", #PB_String_Numeric)
StringGadget(#String_9, 80, 180, 70, 20, "", #PB_String_ReadOnly)
StringGadget(#String_10, 80, 210, 70, 20, "", #PB_String_ReadOnly)
StringGadget(#String_18, 130, 390, 120, 20, "", #PB_String_ReadOnly)
StringGadget(#String_19, 130, 420, 120, 20, "", #PB_String_ReadOnly)
TextGadget(#Text_0, 130, 10, 110, 20, "resolution horizontale")
TextGadget(#Text_1, 130, 40, 110, 20, "resolution verticale")
TextGadget(#Text_3, 130, 100, 110, 20, "taille horizontale en mm")
TextGadget(#Text_9, 130, 130, 110, 20, "taille verticale en mm")
TextGadget(#Text_11, 30, 70, 200, 20, "mesures physiques de la taille de l'ecran")
TextGadget(#Text_12, 10, 180, 70, 20, "DPI Calcules")
TextGadget(#Text_14, 130, 290, 150, 20, "taille image verticale (pixels)")
TextGadget(#Text_13, 130, 260, 150, 20, "taille image horizontale (pixels)")
TextGadget(#Text_16, 130, 330, 180, 20, "resolution de sortie horizontale (ppp)")
TextGadget(#Text_17, 130, 360, 180, 20, "resolution de sortie verticale (ppp)")
TextGadget(#Text_18, 10, 390, 110, 20, "taille en mm en sortie")
TextGadget(#Text_19, 10, 420, 110, 20, "taille en mm en sortie")
;
TextGadget(#Text_20, 10, 450, 110, 20, "[c] 2009 Case pour")
TextGadget(#Text_21, 10, 470, 110, 20, "code en ")
;
TextGadget(#Text_22, 10, 490, 500, 20, "Freeware ne peut etre vendu ou distribue contre inscription")
TextGadget(#Text_23, 10, 510, 500, 20, "gratuite ou payante ni sur support payant sans l'accord de l'auteur")
ButtonGadget(#button_1,120,450,200,20,"pixel valley")
ButtonGadget(#button_2,120,470,200,20,"pure basic")
EndIf
Repeat
ev=WaitWindowEvent()
Select ev
Case #PB_Event_Gadget
Select EventGadget()
Case #String_0
ys.f=Val(GetGadgetText(#String_0))
Gosub calcdpi
Case #String_1
xs.f=Val(GetGadgetText(#String_1))
Gosub calcdpi
Case #String_3
sizey.f=Val(GetGadgetText(#String_3))
Gosub calcdpi
Case #String_4
sizex.f=Val(GetGadgetText(#String_4))
Gosub calcdpi
Case #String_12
img_x.f=Val(GetGadgetText(#String_12))
Gosub calcdpi
Case #String_13
img_y.f=Val(GetGadgetText(#String_13))
Gosub calcdpi
Case #String_16
outdpi_x.f=Val(GetGadgetText(#String_16))
Gosub calcdpi
Case #String_17
outdpi_y.f=Val(GetGadgetText(#String_17))
Gosub calcdpi
Case #button_1
RunProgram("http://www.pixelvalley.com")
Case #button_2
RunProgram("http://www.purebasic.com")
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
calcdpi:
If xs<>0
taillepixelh.f = sizex/xs
EndIf
If ys<>0
taillepixelv.f = sizey/ys
EndIf
If taillepixelh<>0
ppph.f=inch/taillepixelh
EndIf
If taillepixelv<>0
pppv.f=inch/taillepixelv
EndIf
If outdpi_x.f<>0
img_inc_x.f=img_x/outdpi_x
EndIf
If outdpi_y.f<>0
img_inc_y.f=img_y/outdpi_y
EndIf
;
Debug img_inc_x
mm_out_x.f=img_inc_x*inch
mm_out_y.f=img_inc_y*inch
SetGadgetText(#string_9,Str(ppph))
SetGadgetText(#string_10,Str(pppv))
SetGadgetText(#string_18,Str(mm_out_x))
SetGadgetText(#string_19,Str(mm_out_y))
Return
Re: DIMENSIONS D'UNE IMAGE JPEG
Et hop... Figrou rebondit par surprise... "zboïng..."
Code : Tout sélectionner
; pas testé
FileName.S = "image.jpg"
Jpeg = OpenFile(#PB_Any, FileName)
FileSeek(Jpeg, 13) ; j'ai jammmais mis 14 !!
DpiMode = ReadByte(Jpeg)
xDpi = ReadUnicodeCharacter(Jpeg)
yDpi = ReadUnicodeCharacter(Jpeg)
Debug "DPI = " + Str(xDpi) + " x " + Str(yDpi)
CloseFile(Jpeg)
UseJPEGImageDecoder() ; petit ajout Ar-S
Jpeg = LoadImage(#PB_Any, FileName)
Wi = ImageWidth(Jpeg)
He = ImageHeight(Jpeg)
x.D = Wi / xDpi
y.D = He / yDpi
If DpiMode = 1
Unit.S = " pouces"
Else
Unit.S = " cm"
EndIf
Debug "Largeur " + StrD(x) + Unit
Debug "Hauteur " + StrD(y) + Unit
Re: DIMENSIONS D'UNE IMAGE JPEG
Ahm merde... C'est pour le miniature en fait ça...
Re: DIMENSIONS D'UNE IMAGE JPEG
Ollivier a écrit :Ahm merde... C'est pour le miniature en fait ça...