jai creer un petit prg qui affiche des image mon probleme est que je charge un image .bmp ya pas de probleme mais avec .jpg il m'affiche une erreur je c pas pour koi
merci pour votre aide
jai creer un petit prg qui affiche des image mon probleme est que je charge un image .bmp ya pas de probleme mais avec .jpg il m'affiche une erreur je c pas pour koi
merci pour votre aide
charge ton Jpeg dans une instance TJpegImage (unite Jpeg) et appele la methode DIBNeeded.
Apres un simple assign du jpeg sur le Bitmap suffira.
Si tu veux charger le jpeg dans un TImage via LoadFromFile, il suffit simplement d'ajouter l'unitee jpeg et tout se fera tout seul![]()
Salut,
Comme le dit Clorish, passe par l'unite Jpeg.
Ensuite :
Ce code est tiré de cette discussion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var MonJpeg: TJPEGImage; MonBitmap: TBitmap; begin MonBitmap:= TBitmap.Create(); MonJpeg:= TJPEGImage.Create(); MonJpeg.LoadFromFile(JPEGFileName); MonBitmap.Width := MonJpeg.Width; MonBitmap.Height := MonJpeg.Height; MonBitmap.Assign(MonJpeg); MonJpeg.Free(); MonBitmap.Free(); end;
Voilà
PS: Qu'est ce que methode DIBNeeded ?
Bonjour,
Elle décompresse l'image JPEG :PS: Qu'est ce que methode DIBNeeded ?
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function ConvJpegEnBMP2(nomFiJpeg : string) : TBitMap; // ok avec Jpeg dans le uses var imgJPEG : TJPEGImage; begin Result:=nil; imgJPEG := TJPEGImage.Create; try imgJPEG.LoadFromFile(nomFiJpeg); imgJPEG.DIBNeeded; Result := TBitmap.Create; Result.Assign(imgJPEG); //Result.SaveToFile(ChangeFileExt(nomFiJpeg,'.bmp')); finally imgJPEG.Free; end; end; //ConvJpegEnBMP2![]()
Ok! Et si je comprends bien, ça joue sur la qualité finale du jpeg transformé en bmp ?
Donc si je fais le DIBNeeded avant de faire assign, le bmp aura meilleure qualité ?
DIB = Device Independant BitEnvoyé par Gilbert Geyer
Du peu que j'en sais c'est que cela permet de representer une image de telle maniere que l'on puisse acceder a chaques pixels.Envoyé par quelqu'un
Ok!
Si ça ,intéresse quelqu'un j'ai trouvé un article (en anglais) qui explique un peu les différences entre BMP et DIB ...
C'est par là
Re-bonjour,
A propos de DIBNeeded : Je m'étais contenté de résumer ce que dit l'aide Delphi :
... mais pour le reste Clorish est plus calé que moi.Décompresse un bitmap à partir de l'image JPEG.
procedure DIBNeeded;
Description
DIBNeeded est utilisée quand l'image JPEG nécessite une représentation sous forme de bitmap de son image. Par exemple, appelez DIBNeeded juste avant de dessiner plutôt qu'au moment de dessiner de manière optimisée.
... j'ai comparé, avec ou sans DIBNeeded la qualité de l'image semble être "visiblement" la même, par contre pour ce qui se passe en mémoire j'en sais rien; il faudrait à cet effet comparer les valeurs des scanlines des bmp correspondant l'un à un chargement avec DIBNeeded et l'autre sans DIBNeeded. Mais je parie que c'est kif-kif.Ok! Et si je comprends bien, ça joue sur la qualité finale du jpeg transformé en bmp ?
Donc si je fais le DIBNeeded avant de faire assign, le bmp aura meilleure qualité ?
A+![]()
Partager