J'aimerais savoir si il est possible de changer la resolution d'une image
je parle de pixel/pouce et non pas de la taille
Merci bien
Version imprimable
J'aimerais savoir si il est possible de changer la resolution d'une image
je parle de pixel/pouce et non pas de la taille
Merci bien
regarde du coté de la classe System.Drawing :p
Merci de ta reponse, j'ai deja regarder dans cette classe biensur
il y'a les proprietés HeightResolution et WidthResolution mais elles sont qu'en get
En fait je cherche à créer un image à partir d'une autre en ayant la possibilité de choisir ces Resolutions
ben t'as du mal regarder alors :p
regardes un pti peu ce code, il va te macher le boulot :p
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 imgPhoto = FixedSize(imgPhotoVert, 300, 300); imgPhoto.Save(WorkingDirectory + @"\images\imageresize_3.jpg", ImageFormat.Jpeg); imgPhoto.Dispose(); .... static Image FixedSize(Image imgPhoto, int Width, int Height) { int sourceWidth = imgPhoto.Width; int sourceHeight = imgPhoto.Height; int sourceX = 0; int sourceY = 0; int destX = 0; int destY = 0; float nPercent = 0; float nPercentW = 0; float nPercentH = 0; nPercentW = ((float)Width/(float)sourceWidth); nPercentH = ((float)Height/(float)sourceHeight); if(nPercentH < nPercentW) { nPercent = nPercentH; destX = System.Convert.ToInt16((Width - (sourceWidth * nPercent))/2); } else { nPercent = nPercentW; destY = System.Convert.ToInt16((Height - (sourceHeight * nPercent))/2); } int destWidth = (int)(sourceWidth * nPercent); int destHeight = (int)(sourceHeight * nPercent); Bitmap bmPhoto = new Bitmap(Width, Height, PixelFormat.Format24bppRgb); bmPhoto.SetResolution(imgPhoto.HorizontalResolution, imgPhoto.VerticalResolution); Graphics grPhoto = Graphics.FromImage(bmPhoto); grPhoto.Clear(Color.Red); grPhoto.InterpolationMode = InterpolationMode.HighQualityBicubic; grPhoto.DrawImage(imgPhoto, new Rectangle(destX,destY,destWidth,destHeight), new Rectangle(sourceX,sourceY,sourceWidth,sourceHeight), GraphicsUnit.Pixel); grPhoto.Dispose(); return bmPhoto; }
j'ai pris tout ça dans la classe dont je te parlais plus haut ^^
Hello,
Ca pourra surement t'aider :
http://www.dotnet-tech.com/tutoriels/traitementimage1/traitementimages1.pdf
Oula ouais d'accord, ben merci beaucoup en tout cas les gars, je vais me debrouiller avec tout ca
SI T'y arrives pas avec ça, on te fouettes :p
En fait dans System.Drawing, j'utilisais l'objet Image, alors qu'il fallait utiliser l'Objet Bitmap :roll: pour pouvoir avoir accés a la methodes setResolution(float, float)
Merci bien