bonjour
je souhaite choisir une image JPEG, qu'elle s'affiche dans un Timage, modifier le DPI de cette image en 300 DPI.
Je n'ai pas d'erreurs mais l'image ne prends pas en compte la resolution 300 DPI
Je deviens fou !!!
Si quelqu'un peut m'aider , grand MERCI !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 procedure TForm1.Button2Click(Sender: TObject); const BufferSize = 50; DPI = 1; //inch DPC = 2; //cm var Buffer: string; index: INTEGER; FileStream: TFileStream; xResolution: WORD; yResolution: WORD; JpegImage: TJpegImage; _type: Byte; StrNomFichier:string; begin If OpenDialog1.Execute then begin StrNomFichier:=(OpenDialog1.FileName); JpegImage := TJpegImage.Create; face.Picture.LoadFromFile(StrNomFichier); FileStream:= TFileStream.Create (OpenDialog1.FileName, fmOpenReadWrite); SetLength(Buffer, BufferSize); FileStream.Read(buffer[1], BufferSize); index := POS('JFIF' + #$00, buffer); FileStream.Seek(index + 6, soFromBeginning); _type := DPI; FileStream.write(_type, 1); xresolution := swap(300); FileStream.write(xresolution, 2); yresolution := swap(300); FileStream.write(yresolution, 2); JpegImage.SaveToStream(FileStream); // face.Picture.SaveToFile(imei.Text+'face.JPG'); FileStream.Free; JpegImage.Free; //DeleteFile(StrNomFichier); } end; end;
Partager